STK.register("comp.web.leftpannel", function(a) {
	return function(p) {
		var r = a.addEvent, k = a.core.evt.preventDefault, u, q, x;
		var n = 1500, m = "linear";
		var b = {
			slideUp : function(y) {
				y.style.display = "";
				y.style.filter = "alpha(opacity=100)";
				y.style.opacity = 1;
				a.tween(y, {
					animationType : m,
					duration : n,
					end : function(z) {
						y.style.display = "none"
					}
				}).finish({
					opacity : 0
				})
			},
			slideDown : function(y) {
				y.style.display = "";
				y.style.filter = "alpha(opacity=0)";
				y.style.opacity = 0;
				a.tween(y, {
					animationType : m,
					duration : n,
					end : function(z) {
					}
				}).finish({
					opacity : 100
				})
			},
			initList : function(A) {
				var y = a.sizzle("a", A)[0], z = a.sizzle("ul", A)[0];
				r(y, "click", function() {
					k();
					if (A.className.indexOf("current") > -1) {
						A.className = "haschild";
						if (a.IE) {
						}
					} else {
						A.className = "haschild current";
						if (a.IE) {
						}
					}
				})
			},
			showUi : function() {
				k();
				if (x.style.display == "none") {
					q.className = "mousedown current";
					x.style.display = "";
					a.addEvent(document.body, "click", b.hideUi)
				} else {
					q.className = "mousedown";
					x.style.display = "none";
					a.removeEvent(document.body, "click", b.hideUi)
				}
			},
			hideUi : function(z) {
				var y = z ? a.core.evt.fixEvent(z).target : null;
				if (!a.core.dom.contains(x, y) && !a.core.dom.contains(q, y)) {
					q.className = "mousedown";
					x.style.display = "none";
					a.removeEvent(document.body, "click", b.hideUi)
				}
			}
		};
		var g = {};
		var t = {};
		var l = {};
		var s = function() {
			o();
			d();
			v();
			c();
			e();
			f();
			h()
		};
		var o = function() {
			if (!p) {
				throw "node 没有定义"
			}
		};
		var d = function() {
			q = a.sizzle('div[class="mousedown"]', p)[0];
			x = a.sizzle('div[class="menu"]', p)[0]
		};
		var v = function() {
		};
		var c = function() {
		};
		var e = function() {
			a.addEvent(q, "click", b.showUi)
		};
		var f = function() {
		};
		var h = function() {
		};
		var w = function() {
		};
		s();
		g.destroy = function() {
		};
		return g
	}
});
STK.register("kit.extra.language", function(a) {
	window.$LANG || (window.$LANG = {});
	return function(b) {
		return a.core.util.language(b, $LANG)
	}
});
STK.register("module.layer", function(b) {
	var c = function(e) {
		var d = {};
		if (e.style.display == "none") {
			e.style.visibility = "hidden";
			e.style.display = "";
			d.w = e.offsetWidth;
			d.h = e.offsetHeight;
			e.style.display = "none";
			e.style.visibility = "visible"
		} else {
			d.w = e.offsetWidth;
			d.h = e.offsetHeight
		}
		return d
	};
	var a = function(g, f) {
		f = f || "topleft";
		var e = null;
		if (g.style.display == "none") {
			g.style.visibility = "hidden";
			g.style.display = "";
			e = b.core.dom.position(g);
			g.style.display = "none";
			g.style.visibility = "visible"
		} else {
			e = b.core.dom.position(g)
		}
		if (f !== "topleft") {
			var d = c(g);
			if (f === "topright") {
				e.l = e.l + d.w
			} else {
				if (f === "bottomleft") {
					e.t = e.t + d.h
				} else {
					if (f === "bottomright") {
						e.l = e.l + d.w;
						e.t = e.t + d.h
					}
				}
			}
		}
		return e
	};
	return function(h) {
		var m = b.core.dom.builder(h);
		var g = m.list.outer[0], e = m.list.inner[0];
		var l = b.core.dom.uniqueID(g);
		var k = {};
		var d = b.core.evt.custEvent.define(k, "show");
		b.core.evt.custEvent.define(d, "hide");
		var f = null;
		k.show = function() {
			g.style.display = "";
			b.core.evt.custEvent.fire(d, "show");
			return k
		};
		k.hide = function() {
			g.style.display = "none";
			b.custEvent.fire(d, "hide");
			return k
		};
		k.getPosition = function(n) {
			return a(g, n)
		};
		k.getSize = function(n) {
			if (n || !f) {
				f = c.apply(k, [ g ])
			}
			return f
		};
		k.html = function(n) {
			if (n !== undefined) {
				e.innerHTML = n
			}
			return e.innerHTML
		};
		k.text = function(n) {
			if (text !== undefined) {
				e.innerHTML = b.core.str.encodeHTML(n)
			}
			return b.core.str.decodeHTML(e.innerHTML)
		};
		k.appendChild = function(n) {
			e.appendChild(n);
			return k
		};
		k.getUniqueID = function() {
			return l
		};
		k.getOuter = function() {
			return g
		};
		k.getInner = function() {
			return e
		};
		k.getParentNode = function() {
			return g.parentNode
		};
		k.getDomList = function() {
			return m.list
		};
		k.getDomListByKey = function(n) {
			return m.list[n]
		};
		k.getDom = function(o, n) {
			if (!m.list[o]) {
				return false
			}
			return m.list[o][n || 0]
		};
		k.getCascadeDom = function(o, n) {
			if (!m.list[o]) {
				return false
			}
			return b.core.dom.cascadeNode(m.list[o][n || 0])
		};
		return k
	}
});
STK.register("module.dialog", function(a) {
	return function(p, q) {
		if (!p) {
			throw "module.dialog need template as first parameter"
		}
		var m, g, h, f, n, l, s, k, b, c, o, e;
		b = true;
		var d = function() {
			if (b !== false) {
				g.hide()
			}
		};
		var r = function() {
			m = a.parseParam({
				t : null,
				l : null,
				width : null,
				height : null
			}, q);
			g = a.module.layer(p, m);
			f = g.getOuter();
			n = g.getDom("title");
			k = g.getDom("title_content");
			l = g.getDom("inner");
			s = g.getDom("close");
			a.addEvent(s, "click", function(t) {
				a.preventDefault(t);
				o();
				return false
			});
			a.custEvent.add(g, "show", function() {
				a.hotKey.add(document.documentElement, [ "esc" ], d, {
					type : "keyup",
					disableInInput : true
				})
			});
			a.custEvent.add(g, "hide", function() {
				a.hotKey.remove(document.documentElement, [ "esc" ], d, {
					type : "keyup"
				});
				b = true
			})
		};
		r();
		e = a.objSup(g, [ "show", "hide" ]);
		o = function(t) {
			if (typeof c === "function" && !t) {
				if (c() === false) {
					return false
				}
			}
			e.hide();
			if (a.contains(document.body, g.getOuter())) {
				document.body.removeChild(g.getOuter())
			}
			return h
		};
		h = g;
		h.show = function() {
			if (!a.contains(document.body, g.getOuter())) {
				document.body.appendChild(g.getOuter())
			}
			e.show();
			return h
		};
		h.hide = o;
		h.setPosition = function(t) {
			f.style.top = t.t + "px";
			f.style.left = t.l + "px";
			return h
		};
		h.setMiddle = function() {
			var t = a.core.util.winSize();
			var u = g.getSize(true);
			f.style.top = a.core.util.scrollPos()["top"] + (t.height - u.h) / 2
					+ "px";
			f.style.left = (t.width - u.w) / 2 + "px";
			return h
		};
		h.setTitle = function(t) {
			k.innerHTML = t;
			return h
		};
		h.setContent = function(t) {
			if (typeof t === "string") {
				l.innerHTML = t
			} else {
				l.appendChild(t)
			}
			return h
		};
		h.clearContent = function() {
			while (l.children.length) {
				a.removeNode(l.children[0])
			}
			return h
		};
		h.setAlign = function() {
		};
		h.setBeforeHideFn = function(t) {
			c = t
		};
		h.clearBeforeHideFn = function() {
			c = null
		};
		h.unsupportEsc = function() {
			b = false
		};
		h.supportEsc = function() {
			b = true
		};
		return h
	}
});
STK.register("kit.dom.cssText", function(b) {
	var a = function(f, e) {
		var c = (f + ";" + e).replace(/(\s*(;)\s*)|(\s*(:)\s*)/g, "$2$4"), d;
		while (c && (d = c.match(/(^|;)([\w\-]+:)([^;]*);(.*;)?\2/i))) {
			c = c.replace(d[1] + d[2] + d[3], "")
		}
		return c
	};
	return function(d) {
		d = d || "";
		var e = [], c = {
			push : function(g, f) {
				e.push(g + ":" + f);
				return c
			},
			remove : function(g) {
				for ( var f = 0; f < e.length; f++) {
					if (e[f].indexOf(g + ":") == 0) {
						e.splice(f, 1)
					}
				}
				return c
			},
			getStyleList : function() {
				return e.slice()
			},
			getCss : function() {
				return a(d, e.join(";"))
			}
		};
		return c
	}
});
STK
		.register(
				"kit.dom.fix",
				function(d) {
					var a = !(d.core.util.browser.IE6 || (document.compatMode !== "CSS1Compat" && STK.IE)), b = /^(c)|(lt)|(lb)|(rt)|(rb)$/;
					function c(g) {
						return d.core.dom.getStyle(g, "display") != "none"
					}
					function e(h) {
						h = d.core.arr.isArray(h) ? h : [ 0, 0 ];
						for ( var g = 0; g < 2; g++) {
							if (typeof h[g] != "number") {
								h[g] = 0
							}
						}
						return h
					}
					function f(l, t, o) {
						if (!c(l)) {
							return
						}
						var s = "fixed", v, w, g, r, m = l.offsetWidth, n = l.offsetHeight, p = d.core.util
								.winSize(), q = 0, u = 0, h = d.kit.dom
								.cssText(l.style.cssText);
						if (!a) {
							s = "absolute";
							var k = d.core.util.scrollPos();
							q = v = k.top;
							u = w = k.left;
							switch (t) {
							case "lt":
								v += o[1];
								w += o[0];
								break;
							case "lb":
								v += p.height - n - o[1];
								w += o[0];
								break;
							case "rt":
								v += o[1];
								w += p.width - m - o[0];
								break;
							case "rb":
								v += p.height - n - o[1];
								w += p.width - m - o[0];
								break;
							case "c":
							default:
								v += (p.height - n) / 2 + o[1];
								w += (p.width - m) / 2 + o[0]
							}
							g = r = ""
						} else {
							v = r = o[1];
							w = g = o[0];
							switch (t) {
							case "lt":
								r = g = "";
								break;
							case "lb":
								v = g = "";
								break;
							case "rt":
								w = r = "";
								break;
							case "rb":
								v = w = "";
								break;
							case "c":
							default:
								v = (p.height - n) / 2 + o[1];
								w = (p.width - m) / 2 + o[0];
								r = g = ""
							}
						}
						if (t == "c") {
							if (v < q) {
								v = q
							}
							if (w < u) {
								w = u
							}
						}
						h.push("position", s).push("top", v + "px").push(
								"left", w + "px").push("right", g + "px").push(
								"bottom", r + "px");
						l.style.cssText = h.getCss()
					}
					return function(h, p, k) {
						var l, q, m = true, g;
						if (d.core.dom.isNode(h) && b.test(p)) {
							var n = {
								getNode : function() {
									return h
								},
								isFixed : function() {
									return m
								},
								setFixed : function(r) {
									(m = !!r) && f(h, l, q);
									return this
								},
								setAlign : function(r, s) {
									if (b.test(r)) {
										l = r;
										q = e(s);
										m && f(h, l, q)
									}
									return this
								},
								destroy : function() {
									if (!a) {
										a
												&& d.core.evt.removeEvent(
														window, "scroll", o)
									}
									d.core.evt.removeEvent(window, "resize", o);
									d.core.evt.custEvent.undefine(g)
								}
							};
							g = d.core.evt.custEvent.define(n, "beforeFix");
							n.setAlign(p, k);
							function o(r) {
								r = r || window.event;
								d.core.evt.custEvent.fire(g, "beforeFix",
										r.type);
								if (m && (!a || l == "c")) {
									f(h, l, q)
								}
							}
							if (!a) {
								d.core.evt.addEvent(window, "scroll", o)
							}
							d.core.evt.addEvent(window, "resize", o);
							return n
						}
					}
				});
STK
		.register(
				"module.mask",
				function(e) {
					var m, c = [], b, l = false, a = "STK-Mask-Key";
					var g = e.core.dom.setStyle, k = e.core.dom.getStyle, h = e.core.evt.custEvent;
					function d() {
						m = e.C("div");
						var o = '<div node-type="outer">';
						if (e.core.util.browser.IE6) {
							o += '<div style="position:absolute;width:100%;height:100%;"></div>'
						}
						o += "</div>";
						m = e.builder(o).list.outer[0];
						document.body.appendChild(m);
						l = true;
						b = e.kit.dom.fix(m, "lt");
						var p = function() {
							var q = e.core.util.winSize();
							m.style.cssText = e.kit.dom
									.cssText(m.style.cssText).push("width",
											q.width + "px").push("height",
											q.height + "px").getCss()
						};
						h.add(b, "beforeFix", p);
						p()
					}
					function n(o) {
						var p;
						if (!(p = o.getAttribute(a))) {
							o.setAttribute(a, p = e.getUniqueKey())
						}
						return ">" + o.tagName.toLowerCase() + "[" + a + '="'
								+ p + '"]'
					}
					var f = {
						getNode : function() {
							return m
						},
						show : function(p, o) {
							if (l) {
								p = e.core.obj.parseParam({
									opacity : 0.3,
									background : "#000000"
								}, p);
								m.style.background = p.background;
								g(m, "opacity", p.opacity);
								m.style.display = "";
								b.setAlign("lt");
								o && o()
							} else {
								d();
								f.show(p, o)
							}
							return f
						},
						hide : function() {
							m.style.display = "none";
							nowIndex = undefined;
							c = [];
							return f
						},
						showUnderNode : function(p, o) {
							if (e.isNode(p)) {
								f.show(o, function() {
									g(m, "zIndex", k(p, "zIndex"));
									var r = n(p);
									var q = e.core.arr.indexOf(c, r);
									if (q != -1) {
										c.splice(q, 1)
									}
									c.push(r);
									e.core.dom.insertElement(p, m,
											"beforebegin")
								})
							}
							return f
						},
						back : function() {
							if (c.length < 1) {
								return f
							}
							var p, o;
							c.pop();
							if (c.length < 1) {
								f.hide()
							} else {
								if ((o = c[c.length - 1])
										&& (p = e.sizzle(o, document.body)[0])) {
									g(m, "zIndex", k(p, "zIndex"));
									e.core.dom.insertElement(p, m,
											"beforebegin")
								} else {
									f.back()
								}
							}
							return f
						},
						destroy : function() {
							h.remove(b);
							m.style.display = "none";
							lastNode = undefined;
							_cache = {}
						}
					};
					return f
				});
STK.register("kit.dom.drag", function(a) {
	return function(d, r) {
		var h, g, p, n, c, m, e, k;
		var s = function() {
			f();
			l()
		};
		var f = function() {
			h = a.parseParam({
				moveDom : d,
				perchStyle : "border:solid #999999 2px;",
				dragtype : "perch",
				actObj : {},
				pagePadding : 5
			}, r);
			p = h.moveDom;
			g = {};
			n = {};
			c = a.drag(d, {
				actObj : h.actObj
			});
			if (h.dragtype === "perch") {
				m = a.C("div");
				e = false;
				k = false;
				p = m
			}
			d.style.cursor = "move"
		};
		var l = function() {
			a.custEvent.add(h.actObj, "dragStart", o);
			a.custEvent.add(h.actObj, "dragEnd", b);
			a.custEvent.add(h.actObj, "draging", q)
		};
		var o = function(t, w) {
			document.body.style.cursor = "move";
			var v = a.core.util.pageSize()["page"];
			n = a.core.dom.position(h.moveDom);
			n.pageX = w.pageX;
			n.pageY = w.pageY;
			n.height = h.moveDom.offsetHeight;
			n.width = h.moveDom.offsetWidth;
			n.pageHeight = v.height;
			n.pageWidth = v.width;
			if (h.dragtype === "perch") {
				var u = [];
				u.push(h.perchStyle);
				u.push("position:absolute");
				u.push("z-index:" + (h.moveDom.style.zIndex + 10));
				u.push("width:" + h.moveDom.offsetWidth + "px");
				u.push("height:" + h.moveDom.offsetHeight + "px");
				u.push("left:" + n.l + "px");
				u.push("top:" + n.t + "px");
				m.style.cssText = u.join(";");
				k = true;
				setTimeout(function() {
					if (k) {
						document.body.appendChild(m);
						e = true
					}
				}, 100)
			}
			if (d.setCapture !== undefined) {
				d.setCapture()
			}
		};
		var b = function(t, u) {
			document.body.style.cursor = "auto";
			if (d.setCapture !== undefined) {
				d.releaseCapture()
			}
			if (h.dragtype === "perch") {
				k = false;
				h.moveDom.style.top = m.style.top;
				h.moveDom.style.left = m.style.left;
				if (e) {
					document.body.removeChild(m);
					e = false
				}
			}
		};
		var q = function(v, C) {
			var B = n.t + (C.pageY - n.pageY);
			var u = n.l + (C.pageX - n.pageX);
			var w = B + n.height;
			var z = u + n.width;
			var t = n.pageHeight - h.pagePadding;
			var A = n.pageWidth - h.pagePadding;
			if (w < t && B > 0) {
				p.style.top = B + "px"
			} else {
				if (B < 0) {
					p.style.top = "0px"
				}
				if (w >= t) {
					p.style.top = t - n.height + "px"
				}
			}
			if (z < A && u > 0) {
				p.style.left = u + "px"
			} else {
				if (u < 0) {
					p.style.left = "0px"
				}
				if (z >= A) {
					p.style.left = A - n.width + "px"
				}
			}
		};
		s();
		g.destroy = function() {
			document.body.style.cursor = "auto";
			if (typeof p.setCapture === "function") {
				p.releaseCapture()
			}
			if (h.dragtype === "perch") {
				k = false;
				if (e) {
					document.body.removeChild(m);
					e = false
				}
			}
			a.custEvent.remove(h.actObj, "dragStart", o);
			a.custEvent.remove(h.actObj, "dragEnd", b);
			a.custEvent.remove(h.actObj, "draging", q);
			if (c.destroy) {
				c.destroy()
			}
			h = null;
			p = null;
			n = null;
			c = null;
			m = null;
			e = null;
			k = null
		};
		g.getActObj = function() {
			return h.actObj
		};
		return g
	}
});
STK
		.register(
				"ui.dialog",
				function(f) {
					var e = '<div class="op_layer" node-type="outer"><div class="bg"><table border="0" cellspacing="0" cellpadding="0"><tbody><tr><td><div class="content"><div class="title" node-type="title"><span node-type="title_content"></span></div><a href="javascript:void(0);" class="op_close" title="关闭" node-type="close"></a><div class="detail clearfix" node-type="inner"></div></div></td></tr></tbody></table></div></div>';
					var d = [];
					var c = function(k) {
						var l = f.module.dialog(e, k);
						f.custEvent.add(l, "show", function() {
							f.module.mask.showUnderNode(l.getOuter())
						});
						f.custEvent.add(l, "hide", function() {
							a(l);
							g(l);
							f.module.mask.hide(l.getOuter())
						});
						d.push({
							dia : l,
							used : true
						});
						document.body.appendChild(l.getOuter());
						f.kit.dom.drag(l.getDom("title"), {
							actObj : l,
							moveDom : l.getOuter()
						});
						return l
					};
					var g = function(l) {
						var k = l.getInner();
						while (k.children.length) {
							f.removeNode(k.children[0])
						}
						k = null;
						l.setTitle("");
						l.setMiddle()
					};
					var h = function(m) {
						for ( var l = 0, k = d.length; l < k; l += 1) {
							if (m === d[l]["dia"]) {
								d[l]["used"] = true;
								return
							}
						}
					};
					var a = function(m) {
						for ( var l = 0, k = d.length; l < k; l += 1) {
							if (m === d[l]["dia"]) {
								d[l]["used"] = false;
								return
							}
						}
					};
					var b = function(l) {
						var n;
						for ( var m = 0, k = d.length; m < k; m += 1) {
							if (!d[m]["used"]) {
								d[m]["used"] = true;
								n = d[m]["dia"];
								return n
							}
						}
						n = c(l);
						return n
					};
					return function(k) {
						return b(f.parseParam({}, k))
					}
				});
STK
		.register(
				"ui.alert",
				function(e) {
					var k = '<div class="content_b" node-type="outer"><div class="main_info clearfix"  node-type="inner"><span class="info_icon icon_delM" node-type="icon"></span><p class="info_txt" node-type="textLarge"></p></div><p class="info_sec" node-type="textComplex"></p><p style="display:none" node-type="textSmall"></p><div class="layer_button"><a href="#" onclick="return false;" class="W_btn_c" node-type="OK"></a></div></div>';
					var h = {
						success : "info_icon icon_succM",
						error : "info_icon icon_delM",
						warn : "info_icon icon_warnM",
						"delete" : "info_icon icon_delSa",
						question : "info_icon icon_askM"
					};
					var c = e.kit.extra.language;
					var a = [];
					var f = function() {
						var l = e.module.layer(c(k));
						a.push({
							alt : l,
							used : true
						});
						return l
					};
					var g = function(n) {
						for ( var m = 0, l = a.length; m < l; m += 1) {
							if (n === a[m]["dia"]) {
								a[m]["used"] = true;
								return
							}
						}
					};
					var b = function(n) {
						for ( var m = 0, l = a.length; m < l; m += 1) {
							if (n === a[m]["dia"]) {
								a[m]["used"] = false;
								return
							}
						}
					};
					var d = function(r) {
						var q, p, n, t, l, s;
						p = {};
						for ( var m = 0, o = a.length; m < o; m += 1) {
							if (!a[m]["used"]) {
								a[m]["used"] = true;
								n = a[m]["dia"];
								break
							}
						}
						n = n || f();
						t = e.ui.dialog();
						t.appendChild(n.getOuter());
						n.getDom("icon").className = r.icon;
						n.getDom("textLarge").innerHTML = r.textLarge;
						n.getDom("textComplex").innerHTML = r.textComplex;
						n.getDom("textSmall").innerHTML = r.textSmall;
						n.getDom("OK").innerHTML = "<span>" + r.OKText
								+ "</span>";
						t.setTitle(r.title);
						l = e.htmlToJson(n.getDom("textComplex"));
						e.addEvent(n.getDom("OK"), "click", t.hide);
						e.custEvent.add(t, "hide", function() {
							e.custEvent.remove(t, "hide", arguments.callee);
							e.removeEvent(n.getDom("OK"), "click", t.close);
							clearTimeout(s);
							b(n);
							r.OK(l)
						});
						if (r.timeout) {
							s = setTimeout(t.hide, r.timeout)
						}
						p.alt = n;
						p.dia = t;
						return p
					};
					return function(o, l) {
						l = l || {};
						var m, n;
						m = e.parseParam({
							title : c("#L{提示}"),
							icon : "warn",
							textLarge : o,
							textComplex : "",
							textSmall : "",
							OK : e.funcEmpty,
							OKText : c("#L{确定}"),
							timeout : 0
						}, l);
						m.icon = h[m.icon];
						n = d(m);
						n.dia.show().setMiddle();
						return n
					}
				});
if (typeof scope === "undefined") {
	scope = {}
}
scope.loginKit = function() {
	var b = document.cookie + ";";
	var f = [ "SUP", "=([^;]*)?;" ].join("");
	var a = [ "(\\?|&)", "uid", "=([^&]*)(&|$)" ].join("");
	var e = b.match(new RegExp(f, "i"));
	e = (e) ? e[1] || "" : "";
	e = unescape(e);
	var c = e.match(new RegExp(a));
	c = (c) ? c[2] || "" : "";
	var d = scope["$oid"];
	return {
		uid : c,
		isLogin : !!c,
		isAdmin : c && d && (c == d)
	}
};
scope.$isLogin = function() {
	return scope.loginKit().isLogin
};
scope.$isAdmin = function() {
	return scope.loginKit().isAdmin
};
STK.register("kit.dom.parseDOM", function(a) {
	return function(c) {
		for ( var b in c) {
			if (c[b] && (c[b].length == 1)) {
				c[b] = c[b][0]
			}
		}
		return c
	}
});
window.sinaSSOConfig = {
	feedBackUrl : "http://" + window.location.hostname + "/spring-oauth-server/rest/LoginOrLogout",
	//service : "miniblog",
	//domain : "weibo.com",
	framelogin : "1",
	pageCharset : "utf-8",
	isCheckLoginState : false,
	customLoginCallBack : function() {
	},
	customUpdateCookieCallBack : function() {
	},
	entry : "weibo"
};
STK.register("common.login.loginAction", function(d) {
	var a = d.core.util.cookie, c = d.kit.extra.language;
	var b = {};
	b.initLoginInput = function(e, f) {
		if (e) {
			(function(g, h) {
				g.style.color = "#999999";
				if (!g.binded) {
					d.addEvent(g, "blur", function() {
						if (g.value === "") {
							return false
						}
						try {
							if (window.sinaSSOController
									&& window.sinaSSOController.getServerTime) {
								window.sinaSSOController.getServerTime(g.value)
							}
						} catch (k) {
						}
					});
					e.binded = true
				}
			})(e, e.value)
		}
	};
	b.LoginAction = function(e) {
		var l = d.trim(e.name);
		var h = d.trim(e.pwd);
		var k = e.remb ? "7" : "0";
		var g = function() {
			setTimeout(function() {
				f()
			}, 0)
		};
		var f = function() {
			var m = window.sinaSSOController;
			m.useTicket = true;
			m.useticket = 1;
			m.loginExtraQuery.vsnf = 1;
			if (/^service./.test(location.host)) {
				m.feedBackUrl = "http://" + location.host + "/spring-oauth-server/rest/LoginOrLogout"
			} else {
				m.feedBackUrl = "http://" + location.host + "/spring-oauth-server/rest/LoginOrLogout"
			}
			m.customLoginCallBack = function(n) {
				if (n.result) {
					m.customLoginCallBack = function() {
					};
					e.succ()
				} else {
					e.error(n.reason, n.errno);
					h.value = ""
				}
				m.customLoginCallBack = function() {
				};
				m = null
			};
			m.login(l, h, k)
		};
		if (typeof window.sinaSSOController != "undefined") {
			g()
		} else {
			d.core.io.scriptLoader({
				url : "http://i.sso.sina.com.cn/js/ssologin.js",
				onComplete : function() {
					setTimeout(g, 1000)
				}
			})
		}
	};
	return b
});
STK
		.register(
				"common.login.login",
				function(K) {
					if (typeof scope === "undefined") {
						scope = {}
					}
					var A = K.kit.extra.language, G, aa, P, z = A("#L{邮箱/会员帐号/手机号}"), O, T, k = "#666666", L = "#999999", o, e, n = 0, h = 0, a, b, B = function() {
					}, x = B, r = {}, Y = B;
					var u = [ "qq.com", "163.com",  "126.com",
							 "hotmail.com","gmail.com", "sohu.com" ,"@139.com","sina.com",];
					var w;
					var ad;
					if (typeof scope != "undefined"
							&& typeof scope.regUrl != "undefined") {
						ad = scope.regUrl
					} else {
						ad = ("http://"
								+ (document.domain == "localhost:8080/spring-oauth-server" ? "localhost:8080/spring-oauth-server"
										: "localhost:8080/spring-oauth-server") + "/rest/register")
					}
					var f = A('<div class="WB_dialog" node-type="outer" style="z-index:99999;"><div class="WB_panel"><a title="#L{关闭}" node-type="close" class="WB_dl_close" href="#" onclick="return false;">#L{关闭}</a><div class="WB_login" node-type="inner"><div class="login_inner clearfix"><div class="login_main"><h3 class="login_tit">#L{已有腾邦帐号，可直接登录}</h3><p class="login_input_id"><input type="text" node-type="username" tabindex="1" style="color:#ccc" value="#L{邮箱/会员帐号/手机账号}" class="WB_iptxt"></p><p class="login_input_pw"><input node-type="passwordtext" tabindex="2" style="color:#ccc" value="#L{请输入密码}" class="WB_iptxt"><input node-type="password" tabindex="3" type="password" style="color:#ccc" value="" class="WB_iptxt"></p><p class="login_input_vc" node-type="yzmDiv" style="display:none;"><input type="text" node-type="yzm" value="" class="WB_iptxt"><img src="about:blank" node-type="yzmUrl"><a class="change_vc" node-type="changePin" href="###">#L{换一换}</a></p><p class="login_input_wd" node-type="vdDiv" style="display:none;"><input type="text" class="WB_iptxt" node-type="vd" value="" maxLength=6 style="color:#ccc"/><a href="http://weibo.com/forgot/vdun" target="_blank" class="wd_note">微盾挂失</a></p><p class="login_btn clearfix"><a class="WB_btnA" href="###" onclick="return false;" tabindex="5" node-type="submitBtn" ><span>#L{登录}</span></a><label class="rmb_log"><input node-type="saveState" tabindex="4" type="checkbox" class="WB_checkbox">#L{下次自动登录}</label></p></div><div class="reg_weibo"><h3 class="login_tit">#L{还未开通？赶快免费注册一个吧}</h3><p class="reg_wbid"><a class="WB_reg_btn" href="'
							+ ad
							+ '" tabindex="6" node-type="registUrl" target="_blank"><span>#L{注册账号}</span></a></p></div></div></div></div></div>');
					var X = A('<div style="position:absolute;display:none;z-index:100002" class="WB_tips_smart WB_email" node-type="suggest" tabindex="-1"><p class="tipsmt_title">#L{请选择邮箱类型}</p><ul class="tipsmt_list" node-type="suggestContent"></ul></div>');
					var U = '<div class="WB_tips_mini WB_t_err" style="z-index:100002;display:none;"><em class="W_error"></em><span class="tm_arr"></span></div>';
					var D = K.common.login.loginAction;
					var F, g;
					var t = "js_appstyle_open_css_module_layer_layer_login";
					var af;
					var p = document.getElementsByTagName("script");
					for ( var ab = 0, y = p.length; ab < y; ab++) {
						if (p[ab].src
								&& /^http:\/\/js\.t\.sinajs\.cn/
										.test(p[ab].src)) {
							var l = p[ab].src.split("version=");
							if (l.length > 0) {
								af = l[1];
								break
							}
						}
					}
					if (af == null) {
						af = new Date().getTime()
					}
					var m;
					var N = {};
					N.showLoginLayer = function(ah) {
						b = ah || {};
						b.loginSuccessUrl = "";
						a = b.lang || "zh-cn";
						(typeof b.fail === "function") && (x = b.fail);
						(typeof b.success === "function") && (Y = b.success);
						if (!K.E(t)) {
							var aj = K.C("div");
							aj.id = t;
							K.core.util.hideContainer.appendChild(aj)
						}
						if (!K.E("logincss")) {
							var ag = document.createElement("link");
							ag.id = "logincss";
							ag.rel = "stylesheet";
							ag.type = "text/css";
							ag.href = "http://localhost:8080/spring-oauth-server/resources/basicInfoCSS/layer_login.css";
							document.getElementsByTagName("head")[0]
									.appendChild(ag)
						}
						var ai = 0;
						var ak = setInterval(function() {
							if (parseInt(K.getStyle(K.E(t), "height")) == 42
									|| ai > 60) {
								clearInterval(ak);
								ak = null;
								R()
							}
							ai++
						}, 50)
					};
					var R = function() {
						if (!F) {
							Z();
							v();
							ac()
						}
						H()
					};
					var Q;
					var J = function() {
						clearTimeout(Q);
						Q = setTimeout(s, 500)
					};
					var s = function() {
						if (m) {
							var ag = K.core.util.pageSize();
							m.style.height = ag.page.height + "px"
						}
					};
					var S = function(ag) {
						K.core.util.cookie
								.set(
										"un",
										ag,
										{
											expire : 240,
											domain : /t.sina.com.cn/
													.test(location.host) ? "t.sina.com.cn"
													: "weibo.com"
										})
					};
					var I = function() {
						var ag = window.sinaSSOController.getPinCodeUrl();
						P.yzmUrl.src = ag;
						P.yzmDiv.style.display = ""
					};
					var C = function() {
						d();
						var ag = window.sinaSSOController.getPinCodeUrl();
						P.yzmUrl.src = ag;
						P.yzmDiv.style.display = ""
					};
					var ae = function() {
						P.yzmDiv.style.display = "none";
						P.yzm.value = ""
					};
					var E = function() {
						ae();
						P.vdDiv.style.display = ""
					};
					var d = function() {
						P.vdDiv.style.display = "none";
						P.vd.value = ""
					};
					var c = function() {
						var ag = function() {
							var ah = window.sinaSSOController;
							ah.useTicket = true;
							ah.useticket = 1;
							ah.loginExtraQuery.vsnf = 1;
							ah.prelogin({
								username : P.username.value,
								checkpin : 1
							}, function(ai) {
								if (ai && (typeof ai.showpin != "undefined")) {
									if (ai.showpin == "1") {
										n = 1;
										C()
									} else {
										if (ai.showpin == "2") {
											h = 1;
											E()
										} else {
											if (ai.showpin == "0") {
												ae();
												d()
											}
										}
									}
								}
							})
						};
						if (typeof window.sinaSSOController != "undefined") {
							ag()
						} else {
							K.core.io
									.scriptLoader({
										url : "http://i.sso.sina.com.cn/js/ssologin.js",
										onComplete : function() {
											ag()
										}
									})
						}
					};
					var H = function() {
						var ag = K.core.util.cookie.get("un");
						if (ag) {
							ag = unescape(ag);
							K.core.dom.removeClassName(P.username,
									"W_input_default");
							P.username.value = ag
						} else {
							P.username.value = z;
							K.core.dom.addClassName(P.username,
									"W_input_default")
						}
						P.password.value = "";
						P.yzmDiv.style.display = "none";
						P.yzm.value = "";
						n = 0;
						P.password.style.display = "none";
						P.passwordtext.style.display = "";
						P.saveState.checked = true;
						M()
					};
					var v = function() {
						P = K.kit.dom.parseDOM(F);
						var aj = K.C("div");
						aj.innerHTML = X;
						var ai = aj.childNodes[0];
						document.body.appendChild(ai);
						P.suggest = ai;
						P.suggestContent = ai.getElementsByTagName("UL")[0];
						var ag = K.C("div");
						ag.innerHTML = U;
						var ah = ag.childNodes[0];
						document.body.appendChild(ah);
						P.error = ah;
						P.errorContent = K.sizzle("em.W_error", ah)[0];
						P.errorClose = P.error.getElementsByTagName("A")[0];
						P.registUrl.href = ad.replace(/lang=(.+?)$/,
								function() {
									if (a == "zh-tw") {
										return "lang=zh-tw"
									} else {
										return "lang=zh"
									}
								})
					};
					var q = {
						userNameFocus : function(aj) {
							aj = K.core.evt.getEvent();
							var ai = aj.target || aj.srcElement;
							ai.style.color = k;
							if (ai.value == A(z)) {
								ai.value = "";
								o = true
							} else {
								o = false;
								setTimeout(function() {
									var al = q.checkSelectAll();
									if (al) {
										q.suggestKeyUpImpl()
									}
								}, 20)
							}
							var ak = K.core.dom.position(P.username);
							var ag = K.core.dom.getSize(P.username);
							var ah = P.suggest.style;
							ah.left = (ak.l) + "px";
							ah.top = (ak.t + ag.height) + "px"
						},
						checkSelectAll : function() {
							var aj = P.username;
							var ak, ag;
							if (typeof aj.selectionStart !== "undefined") {
								ak = aj.selectionStart;
								ag = aj.selectionEnd - aj.selectionStart
							} else {
								if (aj.createTextRange) {
									var ai = document.selection.createRange();
									var ah = aj.createTextRange();
									ah.setEndPoint("EndToStart", ai);
									ak = ah.text.length;
									ag = ai.text.length;
									ai = null;
									ah = null
								}
							}
							return aj.value !== "" && ak === 0
									&& ag === aj.value.length
						},
						userNameBlur : function(ai) {
							var ag = true;
							ai = K.core.evt.getEvent();
							var ah = ai.target || ai.srcElement;
							ah.style.color = L;
							if (K.core.str.trim(ah.value) == "") {
								ah.value = z;
								ag = false
							}
							e = false;
							o = false;
							P.suggest.style.display = "none";
							q.closeErrorLayer();
							if (!ag) {
								return
							}
							c()
						},
						passwordKeyup : function(ah) {
							q.closeErrorLayer();
							ah = K.core.evt.getEvent(ah);
							var ag = ah.keyCode || ah.which;
							if (ag === 13) {
								K.core.evt.fireEvent(P.submitBtn, "click")
							}
						},
						yzmFocus : function(ah) {
							ah = K.core.evt.getEvent();
							var ag = ah.target || ah.srcElement;
							ag.style.color = k
						},
						yzmBlur : function(ah) {
							ah = K.core.evt.getEvent();
							var ag = ah.target || ah.srcElement;
							ag.style.color = L
						},
						passwordTextFocus : function(ah) {
							ah = K.core.evt.getEvent();
							var ag = ah.target || ah.srcElement;
							ag.style.display = "none";
							P.password.style.display = "";
							try {
								P.password.focus()
							} catch (ah) {
							}
						},
						passwordBlur : function(ah) {
							ah = ah || K.core.evt.getEvent(ah);
							var ag = ah.target || ah.srcElement;
							if (ag.value == "") {
								ag.style.display = "none";
								P.passwordtext.style.display = ""
							}
							q.closeErrorLayer()
						},
						suggestKeyUp : function(aj) {
							aj = aj || K.core.evt.getEvent(aj);
							var ah = aj.keyCode || aj.which;
							var ag = P.username.value;
							var ai = K.core.str.trim(ag);
							if (!ai && o && (ai == ag)) {
								return
							}
							switch (ah) {
							case 38:
								if (e) {
									o = false;
									q.suggestSelect(-1)
								}
								break;
							case 40:
								if (e) {
									o = false;
									q.suggestSelect(1)
								}
								break;
							case 13:
								if (e) {
									o = false;
									q.selectEnter();
									(aj.preventDefault && aj.preventDefault())
											|| (aj.returnValue = false)
								}
								break;
							case 9:
								break;
							case 27:
								P.suggest.style.display = "none";
								o = false;
								break;
							default:
								o = false;
								clearTimeout(O);
								O = setTimeout(q.suggestKeyUpImpl, 50)
							}
						},
						selectEnter : function() {
							var ag = P.suggestContent
									.getElementsByTagName("LI");
							var ah = K
									.trim(ag[T].getElementsByTagName("A")[0].innerHTML);
							P.username.value = ah;
							P.suggest.style.display = "none";
							e = false;
							P.passwordtext.style.display = "none";
							P.password.style.display = "";
							try {
								P.password.focus()
							} catch (ai) {
							}
						},
						suggestSelect : function(ai) {
							var ah = T;
							if (ai > 0) {
								T++
							} else {
								T--
							}
							var ag = P.suggestContent
									.getElementsByTagName("LI");
							var aj = ag.length - 1;
							if (T <= 0) {
								T = aj
							} else {
								if (T > aj) {
									T = 0
								}
							}
							K.core.dom.removeClassName(ag[ah], "tipsmt_cur");
							K.core.dom.addClassName(ag[T], "tipsmt_cur")
						},
						suggestKeyUpImpl : function(am) {
							T = 0;
							var al = K.core.str.trim(P.username.value);
							var ah = [];
							var aj = al.indexOf("@");
							ah
									.push('<li class="tipsmt_cur" action-type="email_item"><a href="javascript:void(0)">'
											+ (al ? al : "\u3000")
											+ "</a></li>");
							if (aj > -1) {
								var ak = al.substr(aj + 1);
								al = al.replace(/@.*$/, "") + "@";
								for ( var ai = 0, ag = u.length; ai < ag; ai++) {
									if (!ak || u[ai].indexOf(ak) == 0) {
										ah
												.push('<li action-type="email_item"><a href="javascript:void(0)">'
														+ al
														+ u[ai]
														+ "</a></li>")
									}
								}
							} else {
								for ( var ai = 0, ag = u.length; ai < ag; ai++) {
									ah
											.push('<li action-type="email_item"><a href="javascript:void(0)">'
													+ al
													+ "@"
													+ u[ai]
													+ "</a></li>")
								}
							}
							P.suggestContent.innerHTML = ah.join("");
							P.suggest.style.display = "";
							e = true
						},
						checkSubmit : function(aj) {
							P.error.style.display = "none";
							aj = K.core.evt.getEvent();
							var ak = K.core.str.trim(P.username.value);
							if (!ak || (ak == A(z))) {
								K.core.evt.stopEvent(aj);
								try {
									P.username.focus()
								} catch (aj) {
								}
								q.showLayerError(A("#L{请输入用户名}"), P.username)
							} else {
								var ai = P.password.value;
								if (!ai) {
									K.core.evt.stopEvent(aj);
									P.passwordtext.style.display = "none";
									P.password.style.display = "";
									try {
										P.password.focus()
									} catch (aj) {
									}
									q
											.showLayerError(A("#L{请输入密码}"),
													P.password);
									return false
								} else {
									if (n) {
										var ag = K.core.str.trim(P.yzm.value);
										if (!ag) {
											P.yzm.focus();
											q.showLayerError(A("#L{请输入验证码}"),
													P.yzm);
											K.core.evt.stopEvent(aj);
											return false
										}
									} else {
										if (h) {
											var ah = K.core.str
													.trim(P.vd.value);
											if (!ah) {
												P.vd.focus();
												q
														.showLayerError(
																A("#L{请输入微盾动态码}"),
																P.vd);
												K.core.evt.stopEvent(aj);
												return false
											}
										}
									}
								}
								return true
							}
						},
						showLayerError : function(ai, ah) {
							P.errorContent.innerHTML = ai;
							var ag = K.core.dom.getSize(P.error);
							var aj = K.core.dom.position(ah);
							P.error.style.left = aj.l + "px";
							P.error.style.top = (aj.t - ag.height - 10) + "px";
							P.error.style.display = ""
						},
						closeErrorLayer : function() {
							P.error.style.display = "none"
						},
						submitBtnClick : function(ah) {
							if (window.sinaSSOController) {
								if (n) {
									window.sinaSSOController.loginExtraQuery.door = K.core.str
											.trim(P.yzm.value)
								} else {
									if (h) {
										window.sinaSSOController.loginExtraQuery.vsnval = K.core.str
												.trim(P.vd.value)
									} else {
										delete window.sinaSSOController.loginExtraQuery.door;
										delete window.sinaSSOController.loginExtraQuery.vsnval
									}
								}
							}
							var ag = q.checkSubmit();
							if (ag) {
								D
										.LoginAction({
											name : P.username.value,
											pwd : P.password.value,
											remb : P.saveState.checked,
											error : function(aj, ai) {
												if (ai == 4049) {
													n = 1;
													C();
													P.yzm.focus();
													return
												} else {
													if (ai == 2070) {
														n = 1;
														P.yzmUrl.src = window.sinaSSOController
																.getPinCodeUrl();
														q.showLayerError(aj,
																P.yzm)
													} else {
														if (ai == 5024) {
															h = 1;
															E();
															P.yzm.focus();
															return
														} else {
															if (ai == 5025) {
																h = 1;
																q
																		.showLayerError(
																				aj,
																				P.vd)
															} else {
																n = 0;
																q
																		.showLayerError(
																				aj,
																				P.username)
															}
														}
													}
												}
												x(arguments);
												return
											},
											succ : function() {
												q.closeDialog();
												Y(arguments);
												S(P.username.value)
											}
										})
							}
						},
						closeDialog : function() {
							if (!P) {
								return
							}
							P.error.style.display = "none";
							P.suggest.style.display = "none";
							W()
						},
						emailItemClick : function(ag) {
							var ah = ag.el.childNodes[0].innerHTML;
							P.username.value = ah
						}
					};
					var W = function() {
						g.hide()
					};
					var M = function() {
						g.show();
						g.setMiddle()
					};
					var ac = function() {
						w = K.core.evt.delegatedEvent(P.suggest);
						K.addEvent(P.username, "focus", q.userNameFocus);
						K.addEvent(P.username, "blur", q.userNameBlur);
						K.addEvent(P.yzm, "focus", q.yzmFocus);
						K.addEvent(P.yzm, "blur", q.yzmBlur);
						K.addEvent(P.vd, "focus", q.yzmFocus);
						K.addEvent(P.vd, "blur", q.yzmBlur);
						K.addEvent(P.username, "keyup", q.closeErrorLayer);
						K.addEvent(P.password, "keyup", q.passwordKeyup);
						K.addEvent(P.yzm, "keyup", q.passwordKeyup);
						K.addEvent(P.changePin, "click", I);
						K
								.addEvent(P.passwordtext, "focus",
										q.passwordTextFocus);
						K.addEvent(P.password, "blur", q.passwordBlur);
						K.addEvent(P.username, "keydown", q.suggestKeyUp);
						K.addEvent(P.submitBtn, "click", q.submitBtnClick);
						w.add("email_item", "mousedown", q.emailItemClick);
						D.initLoginInput(P.username)
					};
					var Z = function() {
						var ag = K.module.dialog(f, {});
						g = ag;
						K.custEvent.add(ag, "show", function() {
							K.module.mask.showUnderNode(ag.getOuter())
						});
						K.custEvent.add(ag, "hide", function() {
							K.module.mask.hide(ag.getOuter())
						});
						document.body.appendChild(ag.getOuter());
						ag.setMiddle();
						F = ag.getDomList()
					};
					var V = function() {
						K.removeEvent(P.changePin, "click", I);
						K.removeEvent(P.username, "focus", q.userNameFocus);
						K.removeEvent(P.username, "blur", q.userNameBlur);
						K.removeEvent(P.passwordtext, "focus",
								q.passwordTextFocus);
						K.removeEvent(P.password, "blur", q.passwordBlur);
						K.removeEvent(P.username, "keydown", q.suggestKeyUp);
						K.removeEvent(P.yzm, "focus", q.yzmFocus);
						K.removeEvent(P.yzm, "blur", q.yzmBlur);
						K.removeEvent(P.vd, "focus", q.yzmFocus);
						K.removeEvent(P.vd, "blur", q.yzmBlur);
						K.removeEvent(P.username, "keyup", q.closeErrorLayer);
						K.removeEvent(P.password, "keyup", q.closeErrorLayer);
						K.removeEvent(P.yzm, "keyup", q.passwordKeyup);
						K.removeEvent(P.submitBtn, "click", q.submitBtnClick);
						K.removeEvent(P.close, "click", q.closeDialog)
					};
					N.destroy = V;
					N.close = q.closeDialog;
					return N
				});
STK.register("common.extra.shine", function(b) {
	var a = function(c) {
		return c.slice(0, c.length - 1).concat(c.concat([]).reverse())
	};
	return function(e, q) {
		var n = b.parseParam({
			start : "#fff",
			color : "#fbb",
			times : 2,
			step : 5
		}, q);
		var f = n.start.split("");
		var c = n.color.split("");
		var h = [];
		for ( var m = 0; m < n.step; m += 1) {
			var o = f[0];
			for ( var k = 1; k < 4; k += 1) {
				var l = parseInt(f[k], 16);
				var g = parseInt(c[k], 16);
				o += Math.floor(parseInt(l + (g - l) * m / n.step, 10))
						.toString(16)
			}
			h.push(o)
		}
		for ( var m = 0; m < n.times; m += 1) {
			h = a(h)
		}
		var p = false;
		var d = b.timer.add(function() {
			if (!h.length) {
				b.timer.remove(d);
				return
			}
			if (p) {
				p = false;
				return
			} else {
				p = true
			}
			e.style.backgroundColor = h.pop()
		})
	}
});
STK.register("kit.extra.merge", function(a) {
	return function(d, c) {
		var f = {};
		for ( var e in d) {
			f[e] = d[e]
		}
		for ( var e in c) {
			f[e] = c[e]
		}
		return f
	}
});
STK.register("kit.io.ajax", function(a) {
	return function(k) {
		var h, f, e, g, l, b, c;
		b = function(n) {
			l = false;
			k.onComplete(n, h.args);
			setTimeout(m, 0)
		};
		c = function(n) {
			l = false;
			k.onFail(n, h.args);
			setTimeout(m, 0)
		};
		e = [];
		g = null;
		l = false;
		h = a.parseParam({
			url : "",
			method : "get",
			responseType : "json",
			timeout : 30 * 1000,
			onComplete : b,
			onTraning : c,
			onFail : a.funcEmpty,
			isEncode : true
		}, k);
		var m = function() {
			if (!e.length) {
				return
			}
			if (l === true) {
				return
			}
			l = true;
			h.args = e.shift();
			g = a.ajax(h)
		};
		var d = function(o) {
			while (e.length) {
				e.shift()
			}
			l = false;
			if (g) {
				try {
					g.abort()
				} catch (n) {
				}
			}
			g = null
		};
		f = {};
		f.request = function(n) {
			if (!n) {
				n = {}
			}
			if (k.noQueue) {
				d()
			}
			e.push(n);
			n._t = 0;
			m()
		};
		f.abort = d;
		return f
	}
});
STK.register("kit.io.jsonp", function(a) {
	return function(d) {
		var c, f, b, h, e;
		c = a.parseParam({
			url : "",
			method : "get",
			responseType : "json",
			timeout : 30 * 1000,
			onComplete : null,
			onTraning : null,
			onFail : null,
			varkey : "_v",
			isEncode : true
		}, d);
		b = [];
		h = {};
		e = false;
		var g = function() {
			if (!b.length) {
				return
			}
			if (e === true) {
				return
			}
			e = true;
			h.args = b.shift();
			h.onComplete = function(k) {
				e = false;
				c.onComplete(k, h.args);
				setTimeout(g, 0)
			};
			h.onFail = function(k) {
				e = false;
				c.onFail(k);
				setTimeout(g, 0)
			};
			a.jsonp(a.kit.extra.merge(c, {
				args : h.args,
				onComplete : function(k) {
					h.onComplete(k)
				},
				onFail : function(k) {
					try {
						h.onFail(k)
					} catch (l) {
					}
				}
			}))
		};
		f = {};
		f.request = function(k) {
			if (!k) {
				k = {}
			}
			b.push(k);
			k._t = 1;
			g()
		};
		f.abort = function(k) {
			while (b.length) {
				b.shift()
			}
			e = false;
			h = null
		};
		return f
	}
});
STK
		.register(
				"kit.io.inter",
				function(a) {
					return function() {
						var b, d, c;
						b = {};
						d = {};
						c = {};
						b.register = function(f, e) {
							if (d[f] !== undefined) {
								throw f + " interface has been registered"
							}
							d[f] = e;
							c[f] = {}
						};
						b.hookComplete = function(e, g) {
							var f = a.core.util.getUniqueKey();
							c[e][f] = g;
							return f
						};
						b.removeHook = function(e, f) {
							if (c[e] && c[e][f]) {
								delete c[e][f]
							}
						};
						b.getTrans = function(g, e) {
							var f = a.kit.extra.merge(d[g], e);
							f.onComplete = function(l, n) {
								try {
									e.onComplete(l, n)
								} catch (m) {
								}
								if (l.code === "100000" || l.code === "A00006"
										|| l.code === 100000) {
									try {
										e.onSuccess(l, n)
									} catch (m) {
									}
								} else {
									if (l.code === "100001") {
										try {
											a.ui.alert("系统繁忙。", {
												icon : "error"
											})
										} catch (m) {
										}
									} else {
										if (l.code === "100002") {
											setTimeout(
													function() {
														var k = encodeURIComponent(window.location);
														window.location
																.replace("http://weibo.com/login.php?url="
																		+ k)
													}, 30)
										} else {
											if (l.code === "100003") {
												setTimeout(
														function() {
															window.location
																	.replace("http://weibo.com/person/full_info.php")
														}, 30)
											} else {
												if (l.code === "100004") {
												} else {
													try {
														e.onError(l, n)
													} catch (m) {
													}
												}
											}
										}
									}
								}
								for ( var h in c[g]) {
									try {
										c[g][h](l, n)
									} catch (m) {
									}
								}
							};
							if (d[g]["requestMode"] === "jsonp") {
								return a.kit.io.jsonp(f)
							} else {
								if (d[g]["requestMode"] === "ijax") {
									return a.kit.io.ijax(f)
								} else {
									return a.kit.io.ajax(f)
								}
							}
						};
						return b
					}
				});
STK.register("common.trans.wiki", function(c) {
	var a = c.kit.io.inter();
	var b = a.register;
	b("feedback", {
		url : "/wikiex/ajax_feedback.php",
		method : "post"
	});
	b("score", {
		url : "/wikiex/ajax_api_score.php",
		method : "post"
	});
	b("check", {
		url : "/wikiex/ajax_api_score_done.php",
		method : "get"
	});
	b("loginStatus", {
		url : "/ajax_top_userbox.php",
		method : "get"
	});
	b("apiAnswer", {
		url : "/wikiex/ajax_relat_qa.php",
		method : "get"
	});
	return a
});
STK
		.register(
				"common.wiki.reloadTop",
				function(d) {
					var b;
					var a;
					function c() {
						if (a) {
							return
						}
						if (scope.loginKit().isLogin) {
							b = d.common.trans.wiki
									.getTrans(
											"loginStatus",
											{
												onComplete : function(g) {
													if (g.code == "100000") {
														var f = d
																.builder(g.data);
														var k = d
																.sizzle(
																		'div[class="log_info login"]',
																		document.body);
														if (k) {
															k = k[0];
															d.replaceNode(
																	f.box, k)
														}
														var h = d
																.sizzle(
																		'a[node-type="loginLayerBtn"]',
																		document.body);
														var e = d
																.builder('<a hidefocus="true" href="http://open.weibo.com/apps">我的应用</a>');
														if (h) {
															h = h[0];
															d.replaceNode(
																	e.box, h)
														}
													} else {
													}
													b = null;
													a = null
												},
												onFail : function() {
													a = null
												}
											});
							a = true;
							b.request({})
						}
					}
					return c
				});
STK
		.register(
				"common.wiki.toolbar",
				function(f) {
					var x = f.kit.extra.language;
					var e = x('<div node-type="outer" class="op_layer"><div class="bg"><table border="0" cellspacing="0" cellpadding="0"><tbody><tr><td><div class="content"><div node-type="title" class="title">#L{页面反馈}</div><a node-type="close" href="#" onclick="return false;" class="op_close"></a><div node-type="inner" class="detail clearfix"><div class="ta_box"><textarea node-type="content" class="layer_ta" placeholder="#L{关于此页的内容，有问题？有建议？请立即反馈。}"></textarea><p node-type="count" class="txt_info">#L{还可以输入100字}</p><div class="layer_button"><a action-type="submit" href="#" onclick="return false;" class="W_btn_c"><span>#L{提交}</span></a><a action-type="close" href="#" onclick="return false;" class="W_btn_d"><span>#L{取消}</span></a></div></div></div></div></td></tr></tbody></table></div></div>');
					var d = x('<div class="content_b"><div class="main_info clearfix"><span class="info_icon icon_succM"></span><p class="info_txt W_fb">#L{感谢您对页面信息的反馈}</p></div><div class="layer_button"><a action-type="close" href="#" onclick="return false;" class="W_btn_c"><span>确定</span></a></div></div>');
					var l = x('<div class="content_b"><div class="main_info clearfix"><span class="info_icon icon_warnM"></span><p class="info_txt W_fb">请您注意休息，明天再来反馈吧！</p><p class="info_sec">页面反馈信息限每日3条，谢谢您的反馈。</p></div><div class="layer_button"><a action-type="close" href="#" onclick="return false;" class="W_btn_c"><span>确定</span></a></div></div>');
					var k = x("#L{关于此页的内容，有问题？有建议？请立即反馈。}");
					var o = 200;
					var n = !!("placeholder" in document.createElement("input"));
					var t;
					var s;
					var q, g;
					var w;
					var p, a, m;
					var v;
					function h(y) {
						m = null;
						c(y.msg)
					}
					function c(y) {
						f.ui.alert(y || x("#L{系统繁忙}"))
					}
					var b = {
						checkLogin : function() {
							if (scope.$isLogin()) {
								return true
							} else {
								f.common.login.login.showLoginLayer({
									success : function() {
										b.check();
										f.common.wiki.reloadTop()
									}
								});
								return fasle
							}
						},
						showDialog : function() {
							if (s == null) {
								var z = f.module.dialog(e, {});
								f.custEvent.add(z, "show", function() {
									f.module.mask.showUnderNode(z.getOuter())
								});
								f.custEvent.add(z, "hide", function() {
									f.module.mask.hide(z.getOuter())
								});
								document.body.appendChild(z.getOuter());
								z.show();
								z.setMiddle();
								f.kit.dom.drag(z.getDom("title"), {
									actObj : z,
									moveDom : z.getOuter()
								});
								s = z;
								var y = z.getDomList();
								z.setBeforeHideFn(b.destroy);
								b.addDomEvent(y)
							} else {
								s.show();
								s.setMiddle()
							}
						},
						addDomEvent : function(y) {
							q = y.content[0];
							g = y.count[0];
							if (n == false) {
								q.value = k
							}
							f.addEvent(q, "focus", b.startTimer);
							f.addEvent(q, "blur", b.killTimer);
							t = f.core.evt.delegatedEvent(s.getInner());
							t.add("close", "click", b.hide);
							t.add("submit", "click", b.check)
						},
						startTimer : function() {
							if (n == false && f.trim(q.value) == k) {
								q.value = ""
							}
							w = setInterval(b.keyUpCount, 200)
						},
						killTimer : function() {
							if (n == false && f.trim(q.value) == "") {
								q.value = k
							}
							clearInterval(w);
							w = null
						},
						keyUpCount : function() {
							var z = f.trim(q.value);
							var y = f.bLength(z);
							if (p != y) {
								var A = Math.floor((o - y) / 2);
								g.innerHTML = (A >= 0) ? x("#L{还可以输入}" + A
										+ "#L{字}") : x("#L{超出}" + Math.abs(A)
										+ "#L{字}");
								p = y
							}
						},
						check : function() {
							var z = f.trim(q.value);
							if (z == k) {
								z = ""
							}
							var y = f.bLength(z);
							if (y > 0 && y <= 200) {
								b.post(z)
							} else {
								f.common.extra.shine(q, {})
							}
						},
						post : function(y) {
							if (b.checkLogin() == false) {
								return
							}
							var z = {
								url : window.location.href,
								remark : y
							};
							a = f.common.trans.wiki.getTrans("feedback", {
								onComplete : function(A) {
									switch (A.code.toString()) {
									case "100000":
										s.getInner().innerHTML = d;
										setTimeout(s.hide, 3000);
										break;
									case "100001":
										s.getInner().innerHTML = l;
										setTimeout(s.hide, 3000);
										break;
									default:
										c(A.msg);
										break
									}
									a = null;
									m = null
								},
								onFail : c
							});
							m = true;
							a.request(z)
						},
						hide : function() {
							s.hide()
						},
						destroy : function() {
							t && t.remove("submit", "close");
							t = null;
							f.removeEvent(q, "focus", b.startTimer);
							f.removeEvent(q, "blur", b.killTimer)
						}
					};
					function r() {
						if (v && typeof v.closed != "undefined"
								&& v.closed != true) {
							return
						}
						v = {
							closed : false
						};
						var z = "http://v.t.sina.com.cn/share/share.php?appkey=242502621";
						var B = document.title;
						var A = document.title;
						var y = "";
						var C = window.location.href;
						z = z + "&title=" + encodeURIComponent(A) + "&pic="
								+ encodeURIComponent(y) + "&url="
								+ encodeURIComponent(C);
						v = window.open(z, "", "height=500, width=600")
					}
					function u() {
						document.body.scrollIntoView();
						return false
					}
					return {
						feedback : b.showDialog,
						share : r,
						goTop : u
					}
				});
STK
		.register(
				"common.extra.scrollToTop",
				function(a) {
					return function(g, b) {
						b = b || {};
						if (g == null) {
							a
									.log("[common.extra.scrollToTop]: scrollToTop need a node[id=pl_web_wikiToolbar] in BODY.");
							return {
								destroy : a.funcEmpty
							}
						}
						var k;
						var l;
						var f, p, e;
						var h = (a.getStyle(g, "position") != "fixed");
						function m() {
							var t = a.scrollPos();
							var r = t.top;
							var q, s;
							if (r > 0) {
								a.setStyle(g, "visibility", "visible");
								if (h) {
									q = a.winSize().height - (b.topFix || 183);
									s = r + q;
									a.setStyle(g, "top", s)
								}
							} else {
							}
						}
						a.hotKey.add(document.documentElement, [ "t" ], c, {
							disableInInput : true
						});
						function d() {
							if (k != null) {
								if (new Date().getTime() - k < 500) {
									clearTimeout(l);
									l = null
								}
							}
							k = new Date().getTime();
							l = setTimeout(m, 100)
						}
						function c() {
							document.body.scrollIntoView();
							return false
						}
						e = document.body;
						function o() {
							if (e == "") {
								return
							}
							var s = a.core.dom.getSize(e).height;
							if (p != null && p != s) {
								var r = parseInt(a.getStyle(g, "top"));
								var q = a.winSize().height;
								if (r > s) {
									a.setStyle(g, "top", s - 25)
								}
								if (q >= s) {
								} else {
									m()
								}
							}
							p = s
						}
						f = setInterval(o, 200);
						a.addEvent(window, "scroll", d);
						d();
						var n = {
							destroy : function() {
								a.removeEvent(window, "scroll", d);
								a.removeEvent(g, "onclick", c);
								a.hotKey.remove(document.documentElement,
										[ "t" ], c, {
											type : "keyup"
										});
								if (f != null) {
									clearInterval(f);
									f = null
								}
							}
						};
						return n
					}
				});
STK
		.register(
				"comp.web.wikiToolbar",
				function(a) {
					return function(f, b) {
						var l = {};
						var o;
						var q = a.common.wiki.toolbar;
						var e;
						var h = {};
						var r = {};
						var m = {};
						var t = function() {
							n();
							d();
							g();
							k();
							c();
							p()
						};
						var n = function() {
							if (f == null
									|| (f != null && !a.core.dom.isNode(f))) {
								throw "[comp.app.interfaceApply]:argsCheck()-The param node is not a DOM node."
							}
							b = a.core.obj.parseParam({
								html : ""
							}, b)
						};
						var d = function() {
						};
						var g = function() {
							e = a.common.extra.scrollToTop(f);
							o = a.core.evt.delegatedEvent(f);
							o.add("feedback", "click", q.feedback);
							o.add("share", "click", q.share);
							o.add("top", "click", q.goTop)
						};
						var k = function() {
						};
						var c = function() {
						};
						var p = function() {
						};
						var s = function() {
							e.destroy();
							e = null;
							o.remove("feedback", "share", "top");
							o = null;
							q = null
						};
						t();
						l.destroy = s;
						return l
					}
				});
STK.pageletM.register("pl.web.leftPannel", function(d) {
	var c = d.E("pl_web_leftPannel");
	var b = {};
	if (c) {
		b.pannel = d.comp.web.leftpannel(c)
	}
	var a = d.E("pl_web_wikiToolbar");
	if (a) {
		b.toobar = d.comp.web.wikiToolbar(a)
	}
	return b
});
STK.register("common.trans.app", function(c) {
	var a = c.kit.io.inter();
	var b = a.register;
	b("transfer", {
		url : "/appconsole/ajax_app_assign.php",
		method : "post"
	});
	b("delete", {
		url : "/appconsole/ajax_del_app.php",
		method : "post"
	});
	b("editdomain", {
		url : "/appconsole/ajax_app_advanced_info_save.php",
		method : "post"
	});
	b("editsecurtkey", {
		url : "/appconsole/ajax_reset_app_secret.php",
		method : "post"
	});
	b("addtestuser", {
		url : "/appconsole/ajax_app_test_user.php",
		method : "post"
	});
	b("editBackurl", {
		url : "/appconsole/ajax_app_advanced_info_save.php",
		method : "post"
	});
	b("applyapp", {
		url : "/appconsole/ajax_save_status.php",
		method : "post"
	});
	b("editbasic", {
		url : "/appconsole/ajax_app_basic_info_save.php",
		method : "post"
	});
	b("editwhitelist", {
		url : "/appconsole/ajax_app_white_list_save.php",
		method : "post"
	});
	b("characteristics", {
		url : "/statistics/ajax_userstat.php",
		method : "post"
	});
	b("checkappname", {
		url : "/ajax_check_app_name.php",
		method : "get"
	});
	b("checkcanvas", {
		url : "/appconsole/ajax_check_canvas_url.php",
		method : "get"
	});
	b("checkUid", {
		url : "/appconsole/ajax_check_appuid.php",
		method : "get"
	});
	b("interfaceApply", {
		url : "/privilege/ajax_api_apply.php",
		method : "post"
	});
	b("detailInformation", {
		url : "/statistics/ajax_get_keywords.php",
		method : "get"
	});
	b("uidInformation", {
		url : "/statistics/ajax_get_uids.php",
		method : "get"
	});
	b("busSubscriptionInfo", {
		url : "/payservice/ajax_get_subscribe.php",
		method : "get"
	});
	b("checkProfileAppName", {
		url : "/papp/ajax_check_pappname.php",
		method : "get"
	});
	b("saveAppInfo", {
		url : "/papp/ajax_save_papp.php",
		method : "post"
	});
	b("submitAppInfo", {
		url : "/papp/ajax_save_status.php ",
		method : "post"
	});
	b("stopShowTips", {
		url : "/papp/ajax_stop_tips.php",
		method : "post"
	});
	b("interfaceStatistics", {
		url : "/statistics/aj_api_stat.php",
		method : "get"
	});
	b("businessStatistics", {
		url : "/privilege/ajax_commercial_use.php",
		method : "get"
	});
	b("businessStatisticsKeywords", {
		url : "/privilege/ajax_get_keywords.php",
		method : "get"
	});
	b("businessStatisticsUIds", {
		url : "/privilege/ajax_get_uids.php",
		method : "get"
	});
	b("tempSave", {
		url : "/linkcard/ajax_saveoption.php",
		method : "post"
	});
	b("firstSave", {
		url : "/linkcard/ajax_save.php ",
		method : "post"
	});
	b("secondSave", {
		url : "/linkcard/ajax_savesecond.php",
		method : "post"
	});
	b("checkLinkcardAPI", {
		url : "/linkcard/ajax_check.php",
		method : "get"
	});
	return a
});
STK
		.register(
				"ui.confirm",
				function(d) {
					var h = '<div node-type="outer" class="content_c"><div class="main_info clearfix" node-type="inner"><span class="" node-type="icon"></span><p class="info_txt" node-type="textLarge"></p><p class="info_txt" node-type="textComplex" style="display:none"></p><p class="info_txt" node-type="textSmall"" style="display:none"></p></div><div class="layer_button"><a href="#" onclick="return false;" class="W_btn_c" node-type="OK"></a><a href="#" onclick="return false;" class="W_btn_d" node-type="cancel"></a></div></div>';
					var f = {
						success : "info_icon icon_succM",
						error : "info_icon icon_delM",
						warn : "info_icon icon_warnM",
						"delete" : "info_icon icon_delSa",
						question : "info_icon icon_askM"
					};
					var c = d.kit.extra.language;
					var a = [];
					var k = function() {
						var l = d.module.layer(h);
						a.push({
							cfm : l,
							used : true
						});
						return l
					};
					var e = function(n) {
						for ( var m = 0, l = a.length; m < l; m += 1) {
							if (n === a[m]["cfm"]) {
								a[m]["used"] = true;
								return
							}
						}
					};
					var b = function(n) {
						for ( var m = 0, l = a.length; m < l; m += 1) {
							if (n === a[m]["cfm"]) {
								a[m]["used"] = false;
								return
							}
						}
					};
					var g = function(t) {
						var s, r, m, u, o, l;
						r = {};
						for ( var p = 0, q = a.length; p < q; p += 1) {
							if (!a[p]["used"]) {
								a[p]["used"] = true;
								m = a[p]["cfm"];
								break
							}
						}
						m = m || k();
						u = d.ui.dialog();
						u.appendChild(m.getOuter());
						m.getDom("icon").className = t.icon;
						m.getDom("textLarge").innerHTML = t.textLarge;
						m.getDom("textComplex").innerHTML = t.textComplex;
						m.getDom("textSmall").innerHTML = t.textSmall;
						m.getDom("OK").innerHTML = "<span>" + t.OKText
								+ "</span>";
						m.getDom("cancel").innerHTML = "<span>" + t.cancelText
								+ "</span>";
						u.setTitle(t.title);
						var n = function() {
							window.statusConfirm = true;
							u.hide()
						};
						d.addEvent(m.getDom("OK"), "click", n);
						d.addEvent(m.getDom("cancel"), "click", u.hide);
						d.custEvent.add(u, "hide", function() {
							d.custEvent.remove(u, "hide", arguments.callee);
							d.removeEvent(m.getDom("OK"), "click", n);
							d.removeEvent(m.getDom("cancel"), "click", u.hide);
							b(m);
							l = d.htmlToJson(m.getDom("textComplex"));
							if (window.statusConfirm) {
								t.OK(l)
							} else {
								t.cancel(l)
							}
							window.statusConfirm = false
						});
						r.cfm = m;
						r.dia = u;
						return r
					};
					return function(o, l) {
						var m, n;
						m = d.parseParam({
							title : c("#L{提示}"),
							icon : "question",
							textLarge : o,
							textComplex : "",
							textSmall : "",
							OK : function() {
							},
							OKText : c("#L{确定}"),
							cancel : function() {
							},
							cancelText : c("#L{取消}")
						}, l);
						m.icon = f[m.icon];
						n = g(m);
						n.dia.show().setMiddle();
						return n
					}
				});
STK
		.register(
				"comp.app.layer.addAllTags",
				function(e) {
					var b = $APPTAGS;
					if (b.length == 2) {
						var d = e.queryToJson(e.parseURL(document.URL).query);
						b = (d.sort && d.sort == "mobile") ? b[1] : b[0]
					}
					var f = {
						C00001 : "请至少选择一个标签"
					};
					var c = [];
					var a = false;
					var g = '<#et userlist data><div class="category_list_container" ><ul class="category_list"><#list data as list><li class="category_item"><div class="category_note">${list.name}：</div><div class="label_tag_list_container"><ul class="label_tag_list clearfix"><#list list.items as items><li class="label_tag_item <#if (items.checked==1)>label_tag_selected</#if>"><a class="label_tag_link" href="javascript:;" title="" data-value="${items.value}" data-checked="${items.checked}" action-type="select">${items.name}</a></li></#list></ul></div></li></#list></ul></div></#et>';
					return function(w) {
						var s = {};
						var v, m, I, q, z, G, D, H;
						var y = w.parent;
						var h;
						var p = e.sizzle('[node-type="tagsZone"]', y)[0], F = e
								.sizzle('[tipsCheck="tags"]', y)[0];
						G = e.sizzle('input[type="hidden"]', y)[0];
						var o = {
							parent : null
						};
						var k = {
							show : function(O) {
								var P = H.tagsValue.value == "" ? []
										: H.tagsValue.value.split(",");
								for ( var L = 0; L < c.length; L++) {
									var N = c[L].items;
									for ( var K = 0; K < N.length; K++) {
										if (e.core.arr.inArray(N[K].value
												.toString(), P)) {
											c[L].items[K].checked = 1
										} else {
											c[L].items[K].checked = 0
										}
									}
								}
								var M = e.core.util.easyTemplate(g);
								var J = M(c).toString();
								H.layerZone.innerHTML = J;
								H.layerZone.style.display = "";
								if (!a) {
									e.addEvent(document.body, "click",
											k.bodyClick);
									a = true
								}
							},
							bodyClick : function(L) {
								var J = e.fixEvent(L);
								var K = J.target || J.srcElement;
								if (e.contains(H.layerZone, K)
										|| e.contains(H.inputZone, K)
										|| K === H.inputZone) {
									return false
								} else {
									k.confirm()
								}
							},
							hide : function() {
								H.layerZone.style.display = "none";
								e.removeEvent(document.body, "click",
										k.bodyClick);
								a = false
							},
							clickAction : function(L) {
								var K;
								var J = L.el;
								if (J.getAttribute("data-checked") == "1") {
									J.parentNode.className = "label_tag_item";
									J.setAttribute("data-checked", "0");
									K = false
								} else {
									if (H.tagsValue.value.split(",").length > 2) {
										return
									}
									J.parentNode.className = "label_tag_item label_tag_selected";
									J.setAttribute("data-checked", "1");
									K = true
								}
								k.sync(J.getAttribute("data-value"), K);
								k.changeSelected()
							},
							sync : function(N, K) {
								var L = e.sizzle('a[data-value="' + N + '"]',
										H.layerZone);
								if (L.length > 1) {
									for ( var M = 0, J = L.length; M < J; M++) {
										L[M].setAttribute("data-checked",
												K ? "1" : "0");
										L[M].parentNode.className = K ? "label_tag_item label_tag_selected"
												: "label_tag_item"
									}
								}
							},
							getSelected : function() {
								var N = {};
								var J = e.sizzle('[data-checked="1"]',
										H.layerZone), M = [], L = [];
								for ( var K = 0; K < J.length; K++) {
									M.push(J[K].getAttribute("data-value"));
									L.push(J[K].innerHTML)
								}
								N.name = e.unique(L);
								N.value = e.unique(M);
								return N
							},
							changeSelected : function() {
								var J = k.getSelected();
								H.input.value = J.name.join("、");
								H.tagsValue.value = J.value.join(",")
							},
							confirm : function() {
								k.changeSelected();
								k.hide()
							},
							showErr : function(J) {
								H.tipsZone.innerHTML = '<div class="M_notice_del"><span class="icon_del"></span><span class="txt">'
										+ f.C00001 + "</span></div>";
								if (J == "submit") {
									e.core.util.scrollTo(F, {
										top : 50
									})
								}
							},
							removeErr : function() {
								H.tipsZone.innerHTML = '<div class="M_notice_succ"><span class="icon_succ"></span></div>'
							},
							check : function(J) {
								if (H.tagsValue.value == "") {
									k.showErr(J);
									return false
								} else {
									k.removeErr();
									return true
								}
							}
						};
						var B = {};
						var u = {};
						var A = function() {
							x();
							l();
							C();
							n();
							r();
							t()
						};
						var x = function() {
							o = e.parseParam(o, w)
						};
						var l = function() {
						};
						var C = function() {
							for ( var K in b) {
								var J = {};
								J.name = b[K].name;
								J.value = b[K].value;
								J.items = [];
								for ( var L in b[K].items) {
									var M = {};
									M.name = b[K].items[L].name;
									M.value = b[K].items[L].value;
									M.checked = 0;
									J.items.push(M)
								}
								c.push(J)
							}
							H = e.kit.dom.parseDOM(e.core.dom.builder(y).list);
							H.tagsValue = e.sizzle('input[type="hidden"]', y)[0]
						};
						var n = function() {
							e.addEvent(H.inputZone, "click", k.show);
							D = e.core.evt.delegatedEvent(y);
							D.add("select", "click", k.clickAction)
						};
						var r = function() {
						};
						var t = function() {
						};
						var E = function() {
						};
						A();
						s.check = function(J) {
							return k.check(J)
						};
						return s
					}
				});
STK
		.register(
				"common.check.check",
				function(c) {
					var a = function(e) {
						return function(f) {
							if (new RegExp(e).test(f)) {
								return true
							} else {
								return false
							}
						}
					};
					var b = function(e) {
						if (/[\uFF00-\uFFFF]/.test(e) || /\u3000/.test(e)) {
							return false
						}
						return true
					};
					var d = function(f) {
						if (!/^[\.\w]([(\/)(\-)(\+).\w])*@([(\-)\w]{1,64}\.){1,7}[(\-)\w]{1,64}$/
								.test(f)) {
							return false
						} else {
							if (f && f != "" && (f.indexOf("@") != -1)) {
								var e = f.indexOf("@");
								var g = f.substring(0, e);
								if (g.length > 64 || f.length > 256) {
									return false
								} else {
									return true
								}
							}
						}
						return false
					};
					return {
						mobile : a("^1(\\d{10})+$"),
						nickName : a("^[0-9a-zA-Z\u4e00-\u9fa5_-]*$"),
						cardID : a("^(([0-9]{15})|([0-9]{18})|([0-9]{17}(x|X)))$"),
						URLoose : a("^([^://])+\\:\\/\\/([^\\.]+)(\\.)(.+)([^\\.]+)$"),
						URL : a("^(http|https):\\/\\/([\\w-]+(\\.[\\w-]+)+(\\/[\\w-   .\\/\\?%@&+=\\u4e00-\\u9fa5]*)?)?$"),
						URLPHP : a("^([^://])+\\:\\/\\/([^\\.]+)(\\.)(.+)([^\\.]+)$"),
						imgURI : a("(.jpg|.gif|.png|.JPG|.GIF|.PNG)$"),
						email : d,
						password : a("^([\\w\\~\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)\\+\\`\\-\\=\\[\\]\\\\{\\}\\|\\;\\'\\:\\\"\\,\\.\\/\\<\\>\\?]{6,16})$"),
						dec : b,
						zipCode : a("(\\d{6})+$"),
						empty : function(e) {
							if (!e) {
								return false
							}
							if (!(e instanceof String)) {
								e = e.toString()
							}
							if ((c.core.str.trim(e)).length) {
								return true
							} else {
								return false
							}
						},
						realName : function(e) {
							if (new RegExp("^[\u4e00-\u9fa5]{2,6}$").test(e)) {
								return true
							} else {
								if (new RegExp("^[a-z]{2,20}$").test(e)) {
									return true
								} else {
									if (!(new RegExp(
											"[0-9s_><,\\[\\]\\{\\}?/+=|'\\\":;~!@#*$%^&()`\xff00-\xffff]")
											.test(e))) {
										return true
									} else {
										return false
									}
								}
							}
						},
						QQNum : function(e) {
							if (new RegExp("^[1-9][0-9]{4,11}$").test(e)) {
								return true
							} else {
								if (d(e)) {
									return true
								} else {
									return false
								}
							}
						},
						UCNum : function(e) {
							if (new RegExp("^[1-9][0-9]{4,9}$").test(e)) {
								return true
							} else {
								return false
							}
						},
						pwdPower : function(h) {
							function g(l) {
								if (l >= 65 && l <= 90) {
									return 2
								}
								if (l >= 97 && l <= 122) {
									return 4
								}
								if (l >= 48 && l <= 57) {
									return 1
								} else {
									return 8
								}
							}
							function f(l) {
								var m = 0;
								for (i = 0; i < 4; i++) {
									if (l & 1) {
										m++
									}
									l >>>= 1
								}
								return m
							}
							var e = 0;
							for (i = 0, len = h.length; i < len; i++) {
								e |= g(h.charCodeAt(i))
							}
							if (h.length < 6) {
								return 1
							}
							var k = f(e);
							if (h.length >= 10) {
								k++
							}
							switch (k) {
							case 1:
								return 1;
							case 2:
								return 2;
							case 3:
							case 4:
								return 3;
							case 5:
								return 3;
							default:
								return 1
							}
						}
					}
				});
STK
		.register(
				"common.check.checkForm",
				function(a) {
					return function(B, t, w, l, r) {
						var m = {};
						var z = {};
						var c = {}, e, s = {};
						var D, n, E, b;
						var v = a.addEvent, y = a.trim, o = a.core.arr.foreach;
						var u = a.kit.extra.language;
						var h = function(M, N, K, J, O, F, L) {
							var G = {};
							if (L === undefined) {
								if (K.type === "text" || K.type === "password"
										|| K.tagName === "TEXTAREA") {
									L = "blur"
								} else {
									if (K.tagName === "SELECT") {
										L = "change"
									} else {
										L = "click"
									}
								}
							}
							if (F === undefined) {
								F = function(P) {
									if (y(P.value) === "") {
										return false
									} else {
										return true
									}
								}
							}
							G.changeUI = function(P) {
								O(M, N, P, K, J)
							};
							G.check = function() {
								if (typeof (F) == "function") {
									var Q = F(K);
									O(M, N, Q, K, J);
									return Q
								} else {
									if (typeof (F) == "object") {
										for ( var P in F) {
											if (P == "remote") {
												return Q
											}
											Q = F[P](K);
											if (Q == false) {
												O(M, N, Q, K, J);
												return Q
											}
										}
									}
								}
							};
							G.getAttr = function() {
							};
							if (K.tagName !== "SELECT" && K.length) {
								for ( var H = 0, I = K.length; H < I; H += 1) {
									v(K[H], L, function() {
										G.check()
									})
								}
							} else {
								v(K, L, function() {
									G.check()
								})
							}
							return G
						};
						var d = function(I, G, K, H, F, J) {
							z[G] = h(I, G, K, H, p, F, J)
						};
						var A = function(J) {
							D = null;
							var H = true;
							if (J) {
								for ( var I = 0, F = J.length; I < F; I += 1) {
									if (z[J[I]]) {
										if (!z[J[I]].check()) {
											z[J[I]].changeUI(false);
											H = false
										}
									}
								}
							} else {
								for ( var G in z) {
									if (!z[G].check()) {
										z[G].changeUI(false);
										H = false
									}
								}
							}
							if (!H && D) {
								a.core.util.scrollTo(D, {
									top : 50
								})
							}
							return H
						};
						var C = function(I, G) {
							for ( var H = 0, F = I.length; H < F; H += 1) {
								if (z[I[H]]) {
									z[I[H]].changeUI(G);
									return true
								}
							}
							return false
						};
						var f = function(F) {
							this.toggleError(F, false)
						};
						var k = function(F) {
							this.toggleError(F, true)
						};
						var p = function(I, G, F, J, H) {
							if (H.key && H.key !== G && F) {
								return false
							} else {
								q(I, G, F, H)
							}
						};
						var q = function(I, G, F, H) {
							if (F) {
								H.key = false;
								setTimeout(
										function() {
											H.innerHTML = w
													|| '<div class="M_notice_succ"><span class="icon_succ"></span></div>'
										}, 200)
							} else {
								var J = c[I][G] || G;
								J = u(J);
								H.key = G;
								setTimeout(
										function() {
											H.innerHTML = l
													|| '<div class="M_notice_del"><span class="icon_del"></span><span class="txt">'
													+ J + "</span></div>"
										}, 200);
								if (!D) {
									D = H
								}
							}
						};
						var g = function(G) {
							var F = G.getAttribute("data-tipsmsg");
							G.innerHTML = r ? r.replace("tipsmsg", F)
									: '<div class="M_notice_warn">' + F
											+ "</div>"
						};
						var x = function() {
							for ( var N in B) {
								var F = B[N];
								c[N] = {};
								s[N] = {};
								var M = a.sizzle('[checkType="' + N + '"]', t);
								var H = a.sizzle('[tipsCheck="' + N + '"]', t);
								if (M.length == 0) {
								} else {
									if (H.length == 0) {
										return
									} else {
										H = H[0]
									}
									for (j = 0; j < M.length; j++) {
										var J = M[j], K;
										var I = a
												.sizzle("div.M_notice_warn", H).length ? a
												.sizzle("div.M_notice_warn", H)[0].innerHTML
												: "";
										H.setAttribute("data-tipsmsg", I);
										if (H.getAttribute("data-tipsmsg")
												&& H
														.getAttribute("data-tipsmsg") != "") {
											if (J.type === "text"
													|| J.type === "password"
													|| J.tagName === "TEXTAREA") {
												K = "focus"
											} else {
												if (J.tagName === "SELECT") {
													K = "click"
												} else {
													K = "click"
												}
											}
											(function(O) {
												v(J, K, function() {
													g(O)
												})
											})(H)
										}
										if (F.remote) {
											for ( var L in F) {
												c[N][L] = F[L].msg;
												s[N][L] = F[L].func
											}
											d(N, L, M[j], H, s[N])
										} else {
											for ( var L in F) {
												var G = F[L].func;
												c[N][L] = F[L].msg;
												d(N, L, M[j], H, G)
											}
										}
									}
								}
							}
						};
						m.check = function() {
							return A()
						};
						m.showError = f;
						m.hideError = k;
						m.init = x;
						return m
					}
				});
STK
		.register(
				"common.check.focusBlur",
				function(a) {
					return function(d, b) {
						var h = {};
						var c = a.trim, f = a.addEvent;
						var l = {};
						var e = function(q) {
							var p = q ? a.core.evt.fixEvent(q).target : null;
							var o = p.getAttribute("txt");
							var n = c(p.value);
							if (o && n == o) {
								p.value = ""
							}
							var m = p.getAttribute("checkType")
									|| p.getAttribute("tips");
							if (m && l[m]) {
								a.sizzle('[tipsCheck="' + m + '"]')[0].innerHTML = l[m]
							}
							p.style.cssText = "color:#666;"
						};
						var g = function(p) {
							var o = p ? a.core.evt.fixEvent(p).target : null;
							var n = o.getAttribute("txt");
							var m = c(o.value);
							if (m == "" && n && n != "") {
								o.value = n
							}
							o.style.cssText = "color:#333;"
						};
						var k = function() {
							if (d && d.length) {
								for (i = 0; i < d.length; i++) {
									if (d[i].tagName.toLowerCase() != "input"
											&& d[i].tagName.toLowerCase() != "textarea") {
										return
									}
									var m = d[i].getAttribute("checkType")
											|| d[i].getAttribute("tips");
									if (m
											&& a.sizzle('[tipsCheck="' + m
													+ '"]', b).length) {
										l[m] = a.sizzle('[tipsCheck="' + m
												+ '"]', b)[0].innerHTML
									}
									f(d[i], "focus", e);
									f(d[i], "blur", g)
								}
							} else {
								return
							}
						};
						h.init = k;
						return h
					}
				});
STK
		.register(
				"kit.extra.crc32",
				function(a) {
					return function(f, d) {
						function k(o) {
							o = o.replace(/\r\n/g, "\n");
							var m = "";
							for ( var q = 0; q < o.length; q++) {
								var p = o.charCodeAt(q);
								if (p < 128) {
									m += String.fromCharCode(p)
								} else {
									if ((p > 127) && (p < 2048)) {
										m += String
												.fromCharCode((p >> 6) | 192);
										m += String
												.fromCharCode((p & 63) | 128)
									} else {
										m += String
												.fromCharCode((p >> 12) | 224);
										m += String
												.fromCharCode(((p >> 6) & 63) | 128);
										m += String
												.fromCharCode((p & 63) | 128)
									}
								}
							}
							return m
						}
						f = k(f);
						var l = "00000000 77073096 EE0E612C 990951BA 076DC419 706AF48F E963A535 9E6495A3 0EDB8832 79DCB8A4 E0D5E91E 97D2D988 09B64C2B 7EB17CBD E7B82D07 90BF1D91 1DB71064 6AB020F2 F3B97148 84BE41DE 1ADAD47D 6DDDE4EB F4D4B551 83D385C7 136C9856 646BA8C0 FD62F97A 8A65C9EC 14015C4F 63066CD9 FA0F3D63 8D080DF5 3B6E20C8 4C69105E D56041E4 A2677172 3C03E4D1 4B04D447 D20D85FD A50AB56B 35B5A8FA 42B2986C DBBBC9D6 ACBCF940 32D86CE3 45DF5C75 DCD60DCF ABD13D59 26D930AC 51DE003A C8D75180 BFD06116 21B4F4B5 56B3C423 CFBA9599 B8BDA50F 2802B89E 5F058808 C60CD9B2 B10BE924 2F6F7C87 58684C11 C1611DAB B6662D3D 76DC4190 01DB7106 98D220BC EFD5102A 71B18589 06B6B51F 9FBFE4A5 E8B8D433 7807C9A2 0F00F934 9609A88E E10E9818 7F6A0DBB 086D3D2D 91646C97 E6635C01 6B6B51F4 1C6C6162 856530D8 F262004E 6C0695ED 1B01A57B 8208F4C1 F50FC457 65B0D9C6 12B7E950 8BBEB8EA FCB9887C 62DD1DDF 15DA2D49 8CD37CF3 FBD44C65 4DB26158 3AB551CE A3BC0074 D4BB30E2 4ADFA541 3DD895D7 A4D1C46D D3D6F4FB 4369E96A 346ED9FC AD678846 DA60B8D0 44042D73 33031DE5 AA0A4C5F DD0D7CC9 5005713C 270241AA BE0B1010 C90C2086 5768B525 206F85B3 B966D409 CE61E49F 5EDEF90E 29D9C998 B0D09822 C7D7A8B4 59B33D17 2EB40D81 B7BD5C3B C0BA6CAD EDB88320 9ABFB3B6 03B6E20C 74B1D29A EAD54739 9DD277AF 04DB2615 73DC1683 E3630B12 94643B84 0D6D6A3E 7A6A5AA8 E40ECF0B 9309FF9D 0A00AE27 7D079EB1 F00F9344 8708A3D2 1E01F268 6906C2FE F762575D 806567CB 196C3671 6E6B06E7 FED41B76 89D32BE0 10DA7A5A 67DD4ACC F9B9DF6F 8EBEEFF9 17B7BE43 60B08ED5 D6D6A3E8 A1D1937E 38D8C2C4 4FDFF252 D1BB67F1 A6BC5767 3FB506DD 48B2364B D80D2BDA AF0A1B4C 36034AF6 41047A60 DF60EFC3 A867DF55 316E8EEF 4669BE79 CB61B38C BC66831A 256FD2A0 5268E236 CC0C7795 BB0B4703 220216B9 5505262F C5BA3BBE B2BD0B28 2BB45A92 5CB36A04 C2D7FFA7 B5D0CF31 2CD99E8B 5BDEAE1D 9B64C2B0 EC63F226 756AA39C 026D930A 9C0906A9 EB0E363F 72076785 05005713 95BF4A82 E2B87A14 7BB12BAE 0CB61B38 92D28E9B E5D5BE0D 7CDCEFB7 0BDBDF21 86D3D2D4 F1D4E242 68DDB3F8 1FDA836E 81BE16CD F6B9265B 6FB077E1 18B74777 88085AE6 FF0F6A70 66063BCA 11010B5C 8F659EFF F862AE69 616BFFD3 166CCF45 A00AE278 D70DD2EE 4E048354 3903B3C2 A7672661 D06016F7 4969474D 3E6E77DB AED16A4A D9D65ADC 40DF0B66 37D83BF0 A9BCAE53 DEBB9EC5 47B2CF7F 30B5FFE9 BDBDF21C CABAC28A 53B39330 24B4A3A6 BAD03605 CDD70693 54DE5729 23D967BF B3667A2E C4614AB8 5D681B02 2A6F2B94 B40BBE37 C30C8EA1 5A05DF1B 2D02EF8D";
						var d;
						if (typeof (d) == "undefined") {
							d = 0
						}
						var h = 0;
						var g = 0;
						d = d ^ (-1);
						for ( var c = 0, b = f.length; c < b; c++) {
							g = (d ^ f.charCodeAt(c)) & 255;
							h = "0x" + l.substr(g * 9, 8);
							d = (d >>> 8) ^ h
						}
						var e = d ^ (-1);
						if (e < 0) {
							e = 4294967296 + e
						}
						return e
					}
				});
STK.register("common.extra.imageURL", function(a) {
	return function(e, c) {
		var k = {
			size : "small"
		};
		if (typeof e != "string") {
			return
		}
		k = a.core.obj.parseParam(k, c);
		var m = k.size;
		function f(n) {
			n = (n + "").replace(/[^a-f0-9]/gi, "");
			return parseInt(n, 16)
		}
		var h = {
			ss : {
				middle : "&690",
				bmiddle : "&690",
				small : "&690",
				thumbnail : "&690",
				square : "&690",
				orignal : "&690"
			},
			ww : {
				middle : "bmiddle",
				large : "large",
				bmiddle : "bmiddle",
				small : "small",
				thumbnail : "thumbnail",
				square : "square",
				orignal : "large"
			}
		};
		var b = e.charAt(9) == "w";
		var g = e.charAt(21) == "g" ? ".gif" : ".jpg";
		var l = b ? (a.kit.extra.crc32(e) % 4 + 1)
				: (f(e.substr(19, 2)) % 16 + 1);
		var d = "http://" + (b ? "ww" : "ss") + l + ".sinaimg.cn/"
				+ (b ? h.ww[m] : m) + "/" + e + (b ? g : "")
				+ (b ? "" : h.ss[m]);
		return d
	}
});
if (!window.scope) {
	window.scope = {}
}
function clearfile(c) {
	var d = document.createElement("form");
	var b = STK.sizzle('[imageKey="' + c + '"]', document.body)[0];
	var a = STK.sizzle('[node-type="file"]', b)[0];
	var e = a.parentNode;
	d.appendChild(a);
	d.reset();
	e.appendChild(a)
}
window.scope.addImgSuccess = function(n) {
	if (n && n.key) {
		clearfile(n.key)
	}
	if (n && n.ret == 1 && n.key) {
		var o = STK.sizzle('[imageKey="' + n.key + '"]', document.body)[0];
		if (o && n.key.indexOf("appPrntScrn") == -1) {
			var a = STK.common.extra.imageURL(n.pid, {
				size : "square"
			});
			var d = STK.common.extra.imageURL(n.pid, {
				size : "large"
			});
			var e = STK.sizzle('[node-type="nowImage"]', o)[0], p = STK.sizzle(
					'[node-type="pickImage"]', o)[0], f = STK.sizzle(
					'[node-type="tips"]', o)[0], l = STK.sizzle(
					'[node-type="hiddenImage"]', o)[0], g = STK.sizzle(
					'[node-type="nowImage"]', o)[0], h = STK.sizzle("img", g)[0], k = STK
					.sizzle("span", p)[0];
			setTimeout(
					function() {
						var q = new Image;
						q.onload = function() {
							var F = o.getAttribute("nodeWidth"), u, A;
							if (F && F.indexOf("," > -1)) {
								u = F.split(",")[0];
								A = F.split(",")[1];
								if (u > q.width || q.width > A) {
									var w = f.getAttribute("data-tipsmsg")
											|| "请上传指定宽高的图片";
									var C = '<div class="M_notice_del"><span class="icon_del"></span><span class="txt">'
											+ w + "</span></div>";
									f.innerHTML = C;
									STK.core.util.scrollTo(f, {
										top : 50
									});
									return
								}
							}
							var x = o.getAttribute("nodeHeight"), E, t;
							if (x && x.indexOf(",") > -1) {
								E = x.split(",")[0];
								t = x.split(",")[1];
								if (E > q.height || q.height > t) {
									var w = f.getAttribute("data-tipsmsg")
											|| "请上传指定宽高的图片";
									var C = '<div class="M_notice_del"><span class="icon_del"></span><span class="txt">'
											+ w + "</span></div>";
									f.innerHTML = C;
									STK.core.util.scrollTo(f, {
										top : 50
									});
									return
								}
							}
							f.innerHTML = '<div class="M_notice_succ"><span class="icon_succ"></span></div>';
							if (g) {
								if (h) {
									h.src = d
								} else {
									var B = "<img ";
									var v = o.getAttribute("resize"), s;
									if (v) {
										s = v.split(",");
										B += " width=" + s[0];
										B += " height=" + s[1]
									}
									B += ' src="' + a + '"/>';
									g.innerHTML = B
								}
								k.innerHTML = "更换";
								l.value = n.pid
							} else {
								g = STK.sizzle('[node-type="imageList"]', o)[0];
								var z = STK.C("span");
								z.className = "img_del";
								var y = STK.C("em");
								y.innerHTML = '<a href="'
										+ d
										+ '" target="_blank" title="预览"><img src="'
										+ d + '"/></a>';
								var r = STK.C("a");
								r.href = "javascript:;";
								r.innerHTML = "删除";
								r.onclick = function() {
									var G = l.value.split(",");
									var H = [];
									for (i = 0; i < G.length; i++) {
										if (n.pid != G[i] && G[i] != "") {
											H.push(G[i])
										}
									}
									l.value = H.join(",");
									this.parentNode.parentNode
											.removeChild(this.parentNode)
								};
								z.appendChild(y);
								z.appendChild(r);
								g.appendChild(z);
								k.innerHTML = "添加图片";
								var D = l.value.split(",");
								D.push(n.pid);
								l.value = D.join(",")
							}
						};
						q.src = d
					}, 500);
			(new Image()).src = a
		} else {
			if (o && n.key.indexOf("appPrntScrn") > -1) {
				var d = STK.common.extra.imageURL(n.pid, {
					size : "large"
				});
				var c = STK.sizzle('[node-type="uploadPrntScrn"]')[0];
				var b = STK.core.dom.builder(c), m = n.key;
				b = STK.kit.dom.parseDOM(b.list);
				setTimeout(
						function() {
							var q = new Image;
							q.onload = function() {
								var y = c.getAttribute("nodeWidth"), t, w;
								if (y && y.indexOf("," > -1)) {
									t = y.split(",")[0];
									w = y.split(",")[1];
									if (t > q.width || q.width > w) {
										b.errorZone.className = "M_notice_del";
										b.errorSpan.style.display = "";
										STK.sizzle("em", b.errorZone)[0].innerHTML = "上传图片不符合规格";
										STK.core.util.scrollTo(b.errorZone, {
											top : 50
										});
										return
									}
								}
								var u = c.getAttribute("nodeHeight"), x, r;
								if (u && u.indexOf(",") > -1) {
									x = u.split(",")[0];
									r = u.split(",")[1];
									if (x > q.height || q.height > r) {
										b.errorZone.className = "M_notice_del";
										b.errorSpan.style.display = "";
										STK.sizzle("em", b.errorZone)[0].innerHTML = "上传图片不符合规格";
										STK.core.util.scrollTo(b.errorZone, {
											top : 50
										});
										return
									}
								}
								b.errorZone.className = "M_notice_warn";
								b.errorSpan.style.display = "none";
								var s = STK.core.dom.builder(b[m]);
								s = STK.kit.dom.parseDOM(s.list);
								var A = STK.common.uploadImage
										.uploadPrntScrn(c);
								if (n.key.indexOf("appPrntScrnMore") > -1) {
									s.imageShow.src = d;
									s.imageLink.href = d;
									s.imageZone.style.display = "";
									s.newZone.style.display = "none";
									s.inputDom.value = n.pid;
									var B = STK
											.sizzle(
													'div[class="imgs_upload_container imgs_item"]',
													c);
									if (B.length == 1) {
										A.addForm()
									}
								} else {
									s.inputDom.value = n.pid;
									s.imageShow.src = d;
									s.imageLink.href = d;
									s.imageZone.style.display = "";
									s.newZone.style.display = "none"
								}
								var z = STK.sizzle(
										'input[name="uploadImageInput"]', c), v = [];
								for (i = 0; i < z.length; i++) {
									if (z[i].value != "") {
										v.push(z[i].value)
									}
								}
								b.hiddenImage.value = v.join(",");
								if (v.length == 3
										&& !STK
												.sizzle(
														'div[class="imgs_upload_container imgs_item"]',
														c).length) {
									A.addForm()
								}
								A.showInfo()
							};
							q.src = d
						}, 500);
				(new Image()).src = d
			}
		}
	} else {
		STK.ui
				.alert("图片上传失败，请重新上传。<br/>目前仅支持小于2M的PNG、JPG、GIF<br/>图片，如果上传的图片不属于这个范围，<br/>请更换。")
	}
};
STK
		.register(
				"common.uploadImage.upload",
				function(b) {
					function a(e) {
						var f = document.createElement("form");
						var d = b.sizzle('[imageKey="' + e + '"]',
								document.body)[0];
						var c = b.sizzle('[node-type="file"]', d)[0];
						var g = c.parentNode;
						f.appendChild(c);
						f.reset();
						g.appendChild(c)
					}
					return function(g, s) {
						var m = {};
						var e;
						var f = {
							M07004 : "请上传PNG、JPG、GIF格式的图片。"
						};
						var k = {
							uploadImages : function() {
								var u = e.file.value;
								if (!/\.(jpg|png|jpeg|gif)$/i.test(u)) {
									var w = e.tips.getAttribute("data-tipsmsg")
											|| f.M07004;
									k.showError(w);
									a(g.getAttribute("imageKey"));
									return false
								}
								if (g.getAttribute("max-image")) {
									if (b.sizzle('span[class="img_del"]', g).length >= parseInt(
											g.getAttribute("max-image"), 10)) {
										var w = g.getAttribute("data-tipsmsg")
												|| ("最多只能上传"
														+ parseInt(
																g
																		.getAttribute("max-image"),
																10) + "图片");
										k.showError(w);
										return false
									}
								}
								if (!b.E("Upfiler_file_iframe")) {
									var v;
									if (b.core.util.browser.IE) {
										v = document
												.createElement('<iframe name="Upfiler_file_iframe"></iframe>')
									} else {
										v = b.C("iframe");
										v.name = "Upfiler_file_iframe"
									}
									v.id = "Upfiler_file_iframe";
									v.style.display = "none";
									v.src = "about:blank";
									document.body.appendChild(v)
								}
								b.core.evt.preventDefault();
								e.form.submit()
							},
							showError : function(u) {
								e.tips.innerHTML = '<div class="M_notice_del"><span class="icon_del"></span><span class="txt">'
										+ u + "</span></div>";
								b.core.util.scrollTo(e.tips, {
									top : 50
								})
							},
							delImage : function(x) {
								x.parentNode.parentNode
										.removeChild(x.parentNode);
								var v = x.getAttribute("node-key");
								var u = e.fileList.value.split(",");
								var w = [];
								for (i = 0; i < u.length; i++) {
									if (v != u[i] && u[i] != "") {
										w.push(u[i])
									}
								}
								e.fileList.value = w.join(",")
							}
						};
						var q = {};
						var n = {};
						var t = function() {
							o();
							d();
							h();
							l();
							c();
							p()
						};
						var o = function() {
						};
						var d = function() {
						};
						var h = function() {
							e = {
								file : b.sizzle('[node-type="file"]', g).length > 0 ? b
										.sizzle('[node-type="file"]', g)[0]
										: b.sizzle('[node-type="file"]', g),
								hiddenImage : b.sizzle(
										'[node-type="hiddenImage"]', g).length > 0 ? b
										.sizzle('[node-type="hiddenImage"]', g)[0]
										: b.sizzle('[node-type="hiddenImage"]',
												g),
								nowImage : b
										.sizzle('[node-type="nowImage"]', g).length > 0 ? b
										.sizzle('[node-type="nowImage"]', g)[0]
										: b.sizzle('[node-type="nowImage"]', g),
								pickImage : b.sizzle('[node-type="pickImage"]',
										g).length > 0 ? b.sizzle(
										'[node-type="pickImage"]', g)[0] : b
										.sizzle('[node-type="pickImage"]', g),
								tips : b.sizzle('[node-type="tips"]', g).length > 0 ? b
										.sizzle('[node-type="tips"]', g)[0]
										: b.sizzle('[node-type="tips"]', g),
								form : b.sizzle("form", g).length > 0 ? b
										.sizzle("form", g)[0] : b.sizzle(
										"form", g),
								imageList : b.sizzle('[node-type="imageList"]',
										g).length > 0 ? b.sizzle(
										'[node-type="imageList"]', g)[0] : b
										.sizzle('[node-type="imageList"]', g),
								delImage : b
										.sizzle('[node-type="delImage"]', g),
								fileList : b.sizzle(
										'[node-type="hiddenImage"]', g).length > 0 ? b
										.sizzle('[node-type="hiddenImage"]', g)[0]
										: b.sizzle('[node-type="hiddenImage"]',
												g)
							};
							if (!s && b.isNode(s)) {
								e.tips = s
							}
						};
						var l = function() {
							b.addEvent(e.file, "change", k.uploadImages);
							if (e.delImage) {
								for (i = 0; i < e.delImage.length; i++) {
									(function(u) {
										b.addEvent(u, "click", function() {
											k.delImage(u)
										})
									})(e.delImage[i])
								}
							}
						};
						var c = function() {
						};
						var p = function() {
						};
						var r = function() {
						};
						t();
						m.check = function() {
							if (g.getAttribute("isMust")
									&& e.hiddenImage.value == "") {
								k.showError("请上传图片");
								return false
							} else {
								return true
							}
						};
						return m
					}
				});
STK
		.register(
				"common.uploadImage.uploadPrntScrn",
				function(b) {
					function a(d) {
						var e = document.createElement("form");
						var f = d.parentNode;
						e.appendChild(d);
						e.reset();
						f.appendChild(d)
					}
					var c = true;
					return function(s) {
						var l = {};
						var r, p, y = 100, v;
						var n = b.core.evt.preventDefault;
						var h = {};
						var g = {
							M07004 : "请上传PNG、JPG格式的图片。"
						};
						var d = {
							uploadImages : function(E) {
								var D = E.el;
								var z = D.value;
								var A = E.data;
								var C = D.parentNode;
								if (!/\.(jpg|png|jpeg|JPG|PNG|JPEG)$/i.test(z)) {
									d.showError(g.M07004);
									a(D);
									return false
								}
								if (!b.E("Upfiler_file_iframe")) {
									var B;
									if (b.core.util.browser.IE) {
										B = document
												.createElement('<iframe name="Upfiler_file_iframe"></iframe>')
									} else {
										B = b.C("iframe");
										B.name = "Upfiler_file_iframe"
									}
									B.id = "Upfiler_file_iframe";
									B.style.display = "none";
									B.src = "about:blank";
									document.body.appendChild(B)
								}
								b.core.evt.preventDefault();
								C.submit()
							},
							showError : function(z) {
								r.errorZone.className = "M_notice_del";
								b.sizzle("em", r.errorZone)[0].innerHTML = "上传图片不符合规格";
								r.errorSpan.style.display = "";
								b.core.util.scrollTo(r.errorZone, {
									top : 50
								})
							},
							showInfo : function() {
								d.clearError();
								var z = r.hiddenImage.value.split(",").length;
								var A = b.sizzle("em", r.errorZone)[0];
								if (z == 0) {
								} else {
									if (z == 1) {
										A.innerHTML = "还需上传两张图片"
									} else {
										if (z == 2) {
											A.innerHTML = "还需上传一张图片"
										} else {
											if (z == 3) {
												A.innerHTML = "满足提交审核条件，可选择继续上传"
											} else {
												if (z == 4) {
													A.innerHTML = "满足提交审核条件，可选择继续上传"
												} else {
													if (z == 5) {
														A.innerHTML = "上传张数已达上限，可选择更换图片"
													}
												}
											}
										}
									}
								}
							},
							clearError : function() {
								r.errorZone.className = "M_notice_warn";
								r.errorSpan.style.display = "none"
							},
							delImage : function(C) {
								n();
								var B = C.el.parentNode.parentNode.parentNode;
								B.parentNode.removeChild(B);
								var A = [];
								var z = b.sizzle(
										'input[name="uploadImageInput"]', s);
								for (i = 0; i < z.length; i++) {
									if (z[i].value != "") {
										A.push(z[i].value)
									}
								}
								if (A.length == 4) {
									d.addForm()
								}
								r.hiddenImage.value = A.join(",");
								d.showInfo();
								return false
							},
							hideTips : function() {
								r.tipsZone.style.display = "none"
							},
							showTips : function() {
								r.tipsZone.style.display = ""
							},
							showHandle : function() {
								p && clearTimeout(p);
								p = setTimeout(function() {
									d.showTips()
								}, y)
							},
							hideHandle : function() {
								p && clearTimeout(p);
								p = setTimeout(function() {
									d.hideTips()
								}, y)
							},
							tipsShowHandle : function() {
								p && clearTimeout(p)
							},
							tipsHideHandle : function() {
								p && clearTimeout(p);
								p = setTimeout(function() {
									d.hideTips()
								}, y)
							},
							addForm : function() {
								var C = "appPrntScrnMore"
										+ (new Date().getTime());
								var B = b.C("div");
								B.className = "imgs_upload_container imgs_item";
								B.setAttribute("node-type", C);
								B.setAttribute("imageKey", C);
								var z = '<div class="imgs_part" node-type="imageZone" style="display:none"><input type="hidden" node-type="inputDom" name="uploadImageInput" value="" autoComplete="off"/><div class="imgs_img_container"><a class="imgs_img_link" href="" title="预览" node-type="imageLink" target="_blank"><img class="imgs_img" " width="235" height="157" src="" alt=""  node-type="imageShow" /></a></div><div class="imgs_item_handle"><a class="imgs_exchange W_btn_a W_btn_file" href="javascript:;" title="更换"><span>更换</span><form method="POST" enctype="multipart/form-data" action="http://picupload.t.sina.com.cn/interface/pic_upload.php?s=rdxt&amp;app=miniblog&amp;cb=http://open.weibo.com/upimgback.html?key='
										+ C
										+ '" target="Upfiler_file_iframe"><input type="file" action-type="uploadImages" action-data="key='
										+ C
										+ '" contenteditable="false" size="3" name="pic1" class="input_f"  node-type="file" /></form></a><a class="imgs_delete_link" href="#0" action-type="delImage"  title="删除">删除</a></div></div>';
								if (c) {
									z += '<div class="imgs_upload_container" node-type="newZone"><a title="" href="javascript:;" class="W_btn_b W_btn_file"><span>继续上传</span><form method="POST" enctype="multipart/form-data" action="http://picupload.t.sina.com.cn/interface/pic_upload.php?s=rdxt&amp;app=miniblog&amp;cb=http://open.weibo.com/upimgback.html?key='
											+ C
											+ '" target="Upfiler_file_iframe"><input type="file" action-type="uploadImages" action-data="key='
											+ C
											+ '"  contenteditable="false" size="3" name="pic1" class="input_f"  node-type="file"/></form></a></div>'
								}
								B.innerHTML = z;
								r.uploadZone.appendChild(B);
								var A = b.sizzle(
										'input[action-type="uploadImages"]', B);
								for (i = 0; i < A.length; i++) {
									(function(E) {
										var D = {};
										D.el = E;
										D.data = b.core.json.queryToJson(E
												.getAttribute("action-data")
												|| "");
										b.addEvent(E, "change", function() {
											d.uploadImages(D)
										})
									})(A[i])
								}
							},
							init : function(A) {
								c = A;
								v = b.core.evt.delegatedEvent(s);
								var z = b.sizzle(
										'input[action-type="uploadImages"]', s);
								for (i = 0; i < z.length; i++) {
									(function(C) {
										var B = {};
										B.el = C;
										B.data = b.core.json.queryToJson(C
												.getAttribute("action-data")
												|| "");
										b.addEvent(C, "change", function() {
											d.uploadImages(B)
										})
									})(z[i])
								}
								v.add("delImage", "click", d.delImage);
								b.addEvent(r.tipsZone, "mouseover",
										d.tipsShowHandle);
								b.addEvent(r.tipsZone, "mouseout",
										d.tipsHideHandle);
								b.addEvent(r.tipsNode, "mouseover",
										d.showHandle);
								b
										.addEvent(r.tipsNode, "mouseout",
												d.hideHandle)
							}
						};
						var u = {};
						var o = {};
						var t = function() {
							q();
							e();
							w();
							f();
							k();
							m()
						};
						var q = function() {
						};
						var e = function() {
							r = b.core.dom.builder(s);
							r = b.kit.dom.parseDOM(r.list)
						};
						var w = function() {
						};
						var f = function() {
						};
						var k = function() {
						};
						var m = function() {
						};
						var x = function() {
						};
						t();
						l.check = function() {
							if (s.getAttribute("isMust")
									&& r.hiddenImage.value == "") {
								d.showError("请上传图片");
								return false
							} else {
								return true
							}
						};
						l.addForm = function() {
							d.addForm()
						};
						l.showInfo = function() {
							d.showInfo()
						};
						l.init = function(z) {
							d.init(z)
						};
						return l
					}
				});
STK.register("core.obj.parseParam", function(a) {
	return function(d, c, b) {
		var e, f = {};
		c = c || {};
		for (e in d) {
			f[e] = d[e];
			if (c[e] != null) {
				if (b) {
					if (d.hasOwnProperty[e]) {
						f[e] = c[e]
					}
				} else {
					f[e] = c[e]
				}
			}
		}
		return f
	}
});
STK.register("core.func.empty", function() {
	return function() {
	}
});
STK.register("core.util.getUniqueKey", function(c) {
	var a = (new Date()).getTime().toString(), b = 1;
	return function() {
		return a + (b++)
	}
});
STK.register("core.util.templet", function(a) {
	return function(b, c) {
		return b.replace(/#\{(.+?)\}/ig, function() {
			var g = arguments[1].replace(/\s/ig, "");
			var e = arguments[0];
			var h = g.split("||");
			for ( var f = 0, d = h.length; f < d; f += 1) {
				if (/^default:.*$/.test(h[f])) {
					e = h[f].replace(/^default:/, "");
					break
				} else {
					if (c[h[f]] !== undefined) {
						e = c[h[f]];
						break
					}
				}
			}
			return e
		})
	}
});
STK.register("core.dom.isNode", function(a) {
	return function(b) {
		return (b != undefined) && Boolean(b.nodeName) && Boolean(b.nodeType)
	}
});
STK.register("core.util.hideContainer", function(c) {
	var d;
	var a = function() {
		if (d) {
			return
		}
		d = c.C("div");
		d.style.cssText = "position:absolute;top:-9999px;left:-9999px;";
		document.getElementsByTagName("head")[0].appendChild(d)
	};
	var b = {
		appendChild : function(e) {
			if (c.core.dom.isNode(e)) {
				a();
				d.appendChild(e)
			}
		},
		removeChild : function(e) {
			if (c.core.dom.isNode(e)) {
				d && d.removeChild(e)
			}
		}
	};
	return b
});
STK
		.register(
				"core.io.getIframeTrans",
				function(b) {
					var a = '<iframe id="#{id}" name="#{id}" height="0" width="0" frameborder="no"></iframe>';
					return function(c) {
						var f, d, e;
						d = b.core.obj.parseParam({
							id : "STK_iframe_" + b.core.util.getUniqueKey()
						}, c);
						e = {};
						f = b.C("DIV");
						f.innerHTML = b.core.util.templet(a, d);
						b.core.util.hideContainer.appendChild(f);
						e.getId = function() {
							return d.id
						};
						e.destroy = function() {
							f.innerHTML = "";
							try {
								f.getElementsByTagName("iframe")[0].src = "about:blank"
							} catch (g) {
							}
							b.core.util.hideContainer.removeChild(f);
							f = null
						};
						return e
					}
				});
STK
		.register(
				"core.str.parseURL",
				function(a) {
					return function(d) {
						var c = /^(?:([A-Za-z]+):(\/{0,3}))?([0-9.\-A-Za-z]+\.[0-9A-Za-z]+)?(?::(\d+))?(?:\/([^?#]*))?(?:\?([^#]*))?(?:#(.*))?$/;
						var h = [ "url", "scheme", "slash", "host", "port",
								"path", "query", "hash" ];
						var f = c.exec(d);
						var g = {};
						for ( var e = 0, b = h.length; e < b; e += 1) {
							g[h[e]] = f[e] || ""
						}
						return g
					}
				});
STK.register("core.arr.isArray", function(a) {
	return function(b) {
		return Object.prototype.toString.call(b) === "[object Array]"
	}
});
STK.register("core.str.trim", function(a) {
	return function(e) {
		if (typeof e !== "string") {
			throw "trim need a string as parameter"
		}
		var b = e.length;
		var d = 0;
		var c = /(\u3000|\s|\t|\u00A0)/;
		while (d < b) {
			if (!c.test(e.charAt(d))) {
				break
			}
			d += 1
		}
		while (b > d) {
			if (!c.test(e.charAt(b - 1))) {
				break
			}
			b -= 1
		}
		return e.slice(d, b)
	}
});
STK.register("core.json.queryToJson", function(a) {
	return function(d, h) {
		var l = a.core.str.trim(d).split("&");
		var k = {};
		var c = function(n) {
			if (h) {
				return decodeURIComponent(n)
			} else {
				return n
			}
		};
		for ( var f = 0, g = l.length; f < g; f++) {
			if (l[f]) {
				var e = l[f].split("=");
				var b = e[0];
				var m = e[1];
				if (e.length < 2) {
					m = b;
					b = "$nullName"
				}
				if (!k[b]) {
					k[b] = c(m)
				} else {
					if (a.core.arr.isArray(k[b]) != true) {
						k[b] = [ k[b] ]
					}
					k[b].push(c(m))
				}
			}
		}
		return k
	}
});
STK.register("core.json.jsonToQuery", function(a) {
	var b = function(d, c) {
		d = d == null ? "" : d;
		d = a.core.str.trim(d.toString());
		if (c) {
			return encodeURIComponent(d)
		} else {
			return d
		}
	};
	return function(g, e) {
		var h = [];
		if (typeof g == "object") {
			for ( var d in g) {
				if (d === "$nullName") {
					h = h.concat(g[d]);
					continue
				}
				if (g[d] instanceof Array) {
					for ( var f = 0, c = g[d].length; f < c; f++) {
						h.push(d + "=" + b(g[d][f], e))
					}
				} else {
					if (typeof g[d] != "function") {
						h.push(d + "=" + b(g[d], e))
					}
				}
			}
		}
		if (h.length) {
			return h.join("&")
		} else {
			return ""
		}
	}
});
STK.register("core.util.URL", function(a) {
	return function(f, c) {
		var e = a.core.obj.parseParam({
			isEncodeQuery : false,
			isEncodeHash : false
		}, c || {});
		var d = {};
		var h = a.core.str.parseURL(f);
		var b = a.core.json.queryToJson(h.query);
		var g = a.core.json.queryToJson(h.hash);
		d.setParam = function(k, l) {
			b[k] = l;
			return this
		};
		d.getParam = function(k) {
			return b[k]
		};
		d.setParams = function(l) {
			for ( var k in l) {
				d.setParam(k, l[k])
			}
			return this
		};
		d.setHash = function(k, l) {
			g[k] = l;
			return this
		};
		d.getHash = function(k) {
			return g[k]
		};
		d.valueOf = d.toString = function() {
			var k = [];
			var l = a.core.json.jsonToQuery(b, e.isEncodeQuery);
			var m = a.core.json.jsonToQuery(g, e.isEncodeQuery);
			if (h.scheme != "") {
				k.push(h.scheme + ":");
				k.push(h.slash)
			}
			if (h.host != "") {
				k.push(h.host);
				if (h.port != "") {
					k.push(":");
					k.push(h.port)
				}
			}
			k.push("/");
			k.push(h.path);
			if (l != "") {
				k.push("?" + l)
			}
			if (m != "") {
				k.push("#" + m)
			}
			return k.join("")
		};
		return d
	}
});
STK.register("common.upload.ijax", function(a) {
	return function(b) {
		var c, e, g, h, d, f;
		c = a.core.obj.parseParam({
			url : "",
			form : null,
			args : {},
			uniqueID : null,
			timeout : 30 * 1000,
			onComplete : a.core.func.empty,
			onTimeout : a.core.func.empty,
			onFail : a.core.func.empty,
			isEncode : true,
			responseName : null
		}, b);
		f = {};
		if (c.url == "") {
			throw "ijax need url in parameters object"
		}
		if (!c.form) {
			throw "ijax need form in parameters object"
		}
		e = a.core.io.getIframeTrans();
		g = c.responseName || ("STK_ijax_" + a.core.util.getUniqueKey());
		c.url = a.core.util.URL(c.url, {
			isEncodeQuery : c.isEncode
		}).setParams({
			callback : g
		}).setParams(c.args);
		d = function() {
			window[g] = null;
			e.destroy();
			e = null;
			clearTimeout(h)
		};
		h = setTimeout(function() {
			d();
			c.onTimeout();
			c.onFail()
		}, c.timeout);
		window[g] = function(k, l) {
			d();
			c.onComplete(k, l)
		};
		c.form.action = c.url;
		c.form.target = e.getId();
		c.form.submit();
		f.abort = d;
		return f
	}
});
STK.register("common.upload.upload", function($) {
	return function(node, conf) {
		var that = {};
		var apkInputs, form, callback, timer, loadingSpan;
		var trans = $.core.io.getIframeTrans();
		var iframe = $.E(trans.getId());
		var conf = $.parseParam({
			responseName : "",
			timeout : 30 * 1000,
			onComplete : $.core.func.empty,
			onChange : $.core.func.empty
		}, conf);
		var responseName = conf.responseName
				|| ("STK_ijax_" + $.core.util.getUniqueKey());
		var init = function() {
			argsCheck();
			parseDOM();
			bindDOM()
		};
		var argsCheck = function() {
			if (!node) {
				throw "no available dom found."
			}
		};
		var upload = {
			submit : function(file) {
				if (!/\.(apk)$/i.test(file.value)) {
					conf.onChange({
						msg : "error"
					});
					return
				}
				conf.onChange({
					msg : "ok"
				});
				form = file.parentNode;
				form.action = $.core.util.URL(form.action).setParams({
					callback : responseName,
					r : +(new Date())
				});
				form.target = trans.getId();
				form.submit();
				upload.loading(form)
			},
			loading : function(form) {
				var tagA = form.parentNode;
				$.core.dom.insertHTML(tagA,
						'<span class="W_loading_a"></span>', "AfterEnd")
			},
			loadingEnd : function(form) {
				var tagA = form.parentNode;
				var next = $.domNext(tagA);
				$.removeNode(next)
			}
		};
		var parseDOM = function() {
			nodes = $.builder(node).list;
			apkInputs = nodes.uploadApk
		};
		var bindDOM = function() {
			$.foreach(apkInputs, function(file, i) {
				$.addEvent(file, "change", function() {
					upload.submit(file)
				})
			});
			$.addEvent(iframe, "load", callback)
		};
		var destroy = function() {
			trans.destroy();
			trans = null;
			clearTimeout(timer)
		};
		timer = setTimeout(function() {
			callback("timeout")
		}, conf.timeout);
		callback = window[responseName] = function(oResult) {
			form && form.reset();
			if (typeof oResult === "object") {
				var doc = iframe.contentWindow.document;
				var ret = doc.body.innerHTML;
				if (ret != "") {
					upload.loadingEnd(form);
					clearTimeout(timer);
					eval("var json = " + ret);
					if (json.code == "A00006") {
						var data = json.data;
						var apkName = data.apk_name;
						nodes.apkName[0].innerHTML = apkName;
						var label = $.core.dom.prev(form);
						if ($.isNode(label)) {
							label.innerHTML = "重新上传"
						}
						conf.onChange({
							msg : "ok"
						});
						conf.onComplete(data)
					}
				}
			} else {
			}
		};
		that.destroy = destroy;
		init();
		return that
	}
});
STK
		.register(
				"comp.app.typeselect",
				function(a) {
					return function(B) {
						var n = a.E("appTypes"), k = a.E("appTypes2"), u = a
								.E("appPlatForm"), A = a.E("appCheckBox"), l = a
								.E("app_appCheckBox_error1"), p = a
								.E("app_appCheckBox_error");
						var F = a.core.arr.foreach, H = a.addEvent, w = a.core.dom.setStyle, f = $APPTYPES;
						var t = a.core.evt.preventDefault;
						var r = {};
						var o = {};
						var e = a.core.evt.custEvent.define(r, [ "change" ]);
						var x, m, G, y;
						var g = {};
						var c = {
							scrollTo : function(K, J) {
								if (J == "scroll") {
									a.core.util.scrollTo(p, {
										top : 50
									})
								}
							},
							checkSelect : function(J) {
								var K;
								K = a.E("appTypes").value;
								if (parseInt(K, 10) > 0) {
									if (a.E("appTypes2")
											&& a.E("appTypes2").style.display != "none"
											&& parseInt(a.E("appTypes2").value,
													10) <= 0) {
										c.scrollTo(p, J);
										p.innerHTML = '<div class="M_notice_del"><span class="icon_del"></span><span class="txt">应用分类不能为空</span></div>';
										return false
									} else {
										if (a.E("appTypes2").value == "20000") {
											p.innerHTML = '<a href="http://open.weibo.com/wiki/%E7%A7%BB%E5%8A%A8%E5%AE%A2%E6%88%B7%E7%AB%AF%E6%8E%A5%E5%85%A5" target="_blank">查看移动客户端接入指南</a>'
										} else {
											p.innerHTML = ""
										}
										return true
									}
								} else {
									c.scrollTo(p, J);
									p.innerHTML = '<div class="M_notice_del"><span class="icon_del"></span><span class="txt">应用分类不能为空</span></div>';
									return false
								}
							},
							checkbox : function(M) {
								var L = a.sizzle('input[name="app_os"]', A);
								if (L.length == 0) {
									return true
								}
								var K = {
									min : "1",
									max : ""
								};
								var J = a.sizzle(
										'input[name="app_os"]:checked', A).length;
								if (J < parseInt(K.min, 10)) {
									c.scrollTo(l, M);
									l.innerHTML = '<div class="M_notice_del"><span class="icon_del"></span><span class="txt">请至少选择一项</span></div>';
									return false
								} else {
									l.innerHTML = '<div class="M_notice_succ"><span class="icon_succ"></span></div>'
								}
								return true
							},
							addOption : function(M, O) {
								var N = 0, K = null;
								O.innerHTML = "";
								for ( var J in M) {
									var L = document.createElement("OPTION");
									L.text = M[J].name;
									L.value = M[J].value;
									O.options.add(L);
									if (M[J].value == "20000" && M[J].checked) {
										a.E("app_appCheckBox_error").innerHTML = '<a href="http://open.weibo.com/wiki/%E7%A7%BB%E5%8A%A8%E5%AE%A2%E6%88%B7%E7%AB%AF%E6%8E%A5%E5%85%A5" target="_blank">查看移动客户端接入指南</a>'
									}
									if (M[J].checked) {
										L.selected = true;
										K = J
									}
									N++
								}
								return [ N, K ]
							},
							insertSelect : function(M, P, O) {
								var K = c.addOption(M, P);
								var N = K[0];
								var L = K[1];
								if (N > 1) {
									if (P.style.display == "none"
											&& P.id == "appTypes") {
									} else {
										w(P, "display", "")
									}
									if (L == "app0") {
										w(P, "display", "")
									}
								} else {
									w(P, "display", "");
									w(P, "display", "none")
								}
								if (L != null) {
									var J = M[L];
									if (J && J.item) {
										c.insertCheck(J.item)
									} else {
										c.insertCheck(0)
									}
								} else {
									if (O) {
										var J = f[O].item[0];
										if (J && J.item) {
											c.insertCheck(J.item)
										} else {
											c.insertCheck(0)
										}
									}
								}
							},
							insertCheck : function(K) {
								if (K.length) {
									w(u, "display", "")
								} else {
									w(u, "display", "none")
								}
								var N = "", M = 1;
								F(
										K,
										function(O) {
											var P = (O.name == "Android pad") ? "androidpad"
													: O.name;
											N += '<span><input type="checkbox" '
													+ (O.checked ? 'checked="checked"'
															: "")
													+ ' action-type="app_os" action-data="os='
													+ P
													+ '" name="app_os" id="checkBox'
													+ O.value
													+ '" class="W_checkbox" value="'
													+ O.value
													+ '" /><label for="checkBox'
													+ O.value
													+ '" class="cholab">'
													+ O.name
													+ "</label></span>"
										});
								A.innerHTML = N;
								for ( var L = 0, J = a.sizzle(
										'input[name="app_os"]', A); L < J.length; L++) {
									H(J[L], "click", c.checkbox)
								}
							},
							getNode : function(J) {
								var K = a.sizzle('div[node-type="' + J
										+ '_info"]', K);
								if (K.length > 0) {
									K = K[0]
								} else {
									K = null
								}
								return K
							}
						};
						var D = {};
						var v = {};
						var C = function() {
							z();
							d();
							E();
							b();
							h();
							q();
							s()
						};
						var z = function() {
						};
						var d = function() {
						};
						var E = function() {
							var J = "app1";
							for ( var K in f) {
								if (f[K].checked) {
									J = K
								}
							}
							c.insertSelect(f, n);
							c.insertSelect(f[J].item, k, J)
						};
						var b = function() {
						};
						var h = function() {
							H(n, "change", function() {
								for ( var J in f) {
									if (f[J].value == n.value) {
										c.insertSelect(f[J].item, k, J);
										break
									}
								}
								c.checkSelect()
							});
							H(
									k,
									"change",
									function() {
										for ( var J in f) {
											if (f[J].value == n.value) {
												for ( var K in f[J].item) {
													if (f[J].item[K].value == k.value) {
														c
																.insertCheck(f[J].item[K].item);
														break
													}
												}
											}
										}
										c.checkSelect();
										if (x == null) {
											x = c.getNode("iphone")
										}
										if (m == null) {
											m = c.getNode("android")
										}
										if (k.value == "20000"
												&& (a.E("checkBox20100").checked || a
														.E("checkBox20200").checked)) {
											if (a.E("checkBox20100").checked) {
												x && (x.style.display = "")
											}
											if (a.E("checkBox20200").checked) {
												m && (m.style.display = "")
											}
										} else {
											if (k.value == "30000"
													&& (a.E("checkBox30100").checked || a
															.E("checkBox30200").checked)) {
												if (a.E("checkBox30100").checked) {
													x && (x.style.display = "")
												}
												if (a.E("checkBox30200").checked) {
													m && (m.style.display = "")
												}
											} else {
												x && (x.style.display = "none");
												m && (m.style.display = "none")
											}
										}
										a.core.evt.custEvent.fire(r, "change",
												k.value)
									})
						};
						var q = function() {
						};
						var s = function() {
						};
						var I = function() {
						};
						C();
						r.destroy = function() {
						};
						r.check = function() {
							return c.checkSelect("scroll")
									&& c.checkbox("scroll")
						};
						return r
					}
				});
STK.register("kit.dom.lastChild", function(b) {
	var a = b.core.dom.prev;
	return function(d) {
		var c = d.lastChild;
		if (c && c.nodeType != 1) {
			c = a(c)
		}
		return c
	}
});
STK.register("kit.dom.parentElementBy", function(a) {
	return function(f, b, d) {
		if (!f || !b) {
			throw new Error("传入的参数为空")
		}
		var c = 0, e;
		f = f.parentNode;
		while (f.parentNode) {
			c++;
			e = d(f);
			if (e === false) {
				return false
			} else {
				if (e === true) {
					return f
				} else {
					if (e === b) {
						return null
					}
				}
			}
			f = f.parentNode;
			if (c > 30000) {
				return false
			}
		}
		return null
	}
});
STK.register("ui.mod.layer", function(b) {
	var c = function(e) {
		var d = {};
		if (e.style.display == "none") {
			e.style.visibility = "hidden";
			e.style.display = "";
			d.w = e.offsetWidth;
			d.h = e.offsetHeight;
			e.style.display = "none";
			e.style.visibility = "visible"
		} else {
			d.w = e.offsetWidth;
			d.h = e.offsetHeight
		}
		return d
	};
	var a = function(g, f) {
		f = f || "topleft";
		var e = null;
		if (g.style.display == "none") {
			g.style.visibility = "hidden";
			g.style.display = "";
			e = b.core.dom.position(g);
			g.style.display = "none";
			g.style.visibility = "visible"
		} else {
			e = b.core.dom.position(g)
		}
		if (f !== "topleft") {
			var d = c(g);
			if (f === "topright") {
				e.l = e.l + d.w
			} else {
				if (f === "bottomleft") {
					e.t = e.t + d.h
				} else {
					if (f === "bottomright") {
						e.l = e.l + d.w;
						e.t = e.t + d.h
					}
				}
			}
		}
		return e
	};
	return function(h) {
		var m = b.core.dom.builder(h);
		var g = m.list.outer[0], e = m.list.inner[0];
		var l = b.core.dom.uniqueID(g);
		var k = {};
		var d = b.core.evt.custEvent.define(k, "show");
		b.core.evt.custEvent.define(d, "hide");
		var f = null;
		k.show = function() {
			g.style.display = "";
			b.core.evt.custEvent.fire(d, "show");
			return k
		};
		k.hide = function() {
			g.style.display = "none";
			b.custEvent.fire(d, "hide");
			return k
		};
		k.getPosition = function(n) {
			return a(g, n)
		};
		k.getSize = function(n) {
			if (n || !f) {
				f = c.apply(k, [ g ])
			}
			return f
		};
		k.html = function(n) {
			if (n !== undefined) {
				e.innerHTML = n
			}
			return e.innerHTML
		};
		k.text = function(n) {
			if (n !== undefined) {
				e.innerHTML = b.core.str.encodeHTML(n)
			}
			return b.core.str.decodeHTML(e.innerHTML)
		};
		k.appendChild = function(n) {
			e.appendChild(n);
			return k
		};
		k.getUniqueID = function() {
			return l
		};
		k.getOuter = function() {
			return g
		};
		k.getInner = function() {
			return e
		};
		k.getParentNode = function() {
			return g.parentNode
		};
		k.getDomList = function() {
			return m.list
		};
		k.getDomListByKey = function(n) {
			return m.list[n]
		};
		k.getDom = function(o, n) {
			if (!m.list[o]) {
				return false
			}
			return m.list[o][n || 0]
		};
		k.getCascadeDom = function(o, n) {
			if (!m.list[o]) {
				return false
			}
			return b.core.dom.cascadeNode(m.list[o][n || 0])
		};
		return k
	}
});
STK
		.register(
				"ui.mask",
				function(e) {
					var m, c = [], b, l = false, a = "STK-Mask-Key";
					var g = e.core.dom.setStyle, k = e.core.dom.getStyle, h = e.core.evt.custEvent;
					function d() {
						m = e.C("div");
						var o = '<div node-type="outer">';
						if (e.core.util.browser.IE6) {
							o += '<div style="position:absolute;width:100%;height:100%;"></div>'
						}
						o += "</div>";
						m = e.builder(o).list.outer[0];
						document.body.appendChild(m);
						l = true;
						b = e.kit.dom.fix(m, "lt");
						var p = function() {
							var q = e.core.util.winSize();
							m.style.cssText = e.core.dom.cssText(
									m.style.cssText).push("width",
									q.width + "px").push("height",
									q.height + "px").getCss()
						};
						h.add(b, "beforeFix", p);
						p()
					}
					function n(o) {
						var p;
						if (!(p = o.getAttribute(a))) {
							o.setAttribute(a, p = e.getUniqueKey())
						}
						return ">" + o.tagName.toLowerCase() + "[" + a + '="'
								+ p + '"]'
					}
					var f = {
						getNode : function() {
							return m
						},
						show : function(p, o) {
							if (l) {
								p = e.core.obj.parseParam({
									opacity : 0.3,
									background : "#000000"
								}, p);
								m.style.background = p.background;
								g(m, "opacity", p.opacity);
								m.style.display = "";
								b.setAlign("lt");
								o && o()
							} else {
								d();
								f.show(p, o)
							}
							return f
						},
						hide : function() {
							m.style.display = "none";
							c = [];
							return f
						},
						showUnderNode : function(p, o) {
							if (e.isNode(p)) {
								f.show(o, function() {
									g(m, "zIndex", k(p, "zIndex"));
									var r = n(p);
									var q = e.core.arr.indexOf(c, r);
									if (q != -1) {
										c.splice(q, 1)
									}
									c.push(r);
									e.core.dom.insertElement(p, m,
											"beforebegin")
								})
							}
							return f
						},
						back : function() {
							if (c.length < 1) {
								return f
							}
							var p, o;
							c.pop();
							if (c.length < 1) {
								f.hide()
							} else {
								if ((o = c[c.length - 1])
										&& (p = e.sizzle(o, document.body)[0])) {
									g(m, "zIndex", k(p, "zIndex"));
									e.core.dom.insertElement(p, m,
											"beforebegin")
								} else {
									f.back()
								}
							}
							return f
						},
						destroy : function() {
							h.remove(b);
							m.style.display = "none"
						}
					};
					return f
				});
STK
		.register(
				"ui.litePrompt",
				function(a) {
					var c = a.kit.extra.language;
					var b = a.core.util.easyTemplate;
					return function(d, n) {
						var l, k, g, o, f;
						var n = a.parseParam({
							hideCallback : a.core.func.empty,
							type : "succM",
							msg : "",
							mask : true,
							timeout : "",
							template : ""
						}, n);
						var m = n.template
								|| '<#et temp data><div class="W_layer" node-type="outer"><div class="bg"><table cellspacing="0" cellpadding="0" border="0"><tbody><tr><td><div class="content layer_mini_info_big" node-type="inner"><p class="clearfix"><span class="icon_${data.type}"></span>${data.msg}&nbsp; &nbsp; &nbsp;</p></div></td></tr></tbody></table></div></div></#et>';
						var e = b(m, {
							type : n.type,
							msg : d
						}).toString();
						k = {};
						g = a.ui.mod.layer(e);
						f = g.getOuter();
						a.custEvent.add(g, "hide", function() {
							if (n.mask) {
								a.ui.mask.back()
							}
							n.hideCallback && n.hideCallback();
							a.custEvent.remove(g, "hide", arguments.callee);
							clearTimeout(o)
						});
						a.custEvent.add(g, "show", function() {
							document.body.appendChild(f);
							if (n.mask) {
								a.ui.mask.showUnderNode(f);
								a.ui.mask.getNode().style.zIndex = 10002
							}
						});
						g.show();
						if (n.timeout) {
							o = setTimeout(g.hide, n.timeout)
						}
						var h = a.core.util.winSize();
						var p = g.getSize(true);
						f.style.top = a.core.util.scrollPos()["top"]
								+ (h.height - p.h) / 2 + "px";
						f.style.left = (h.width - p.w) / 2 + "px";
						f.style.zIndex = 10002;
						f.style.position = "absolute";
						k.layer = g;
						return k
					}
				});
STK
		.register(
				"comp.app.editbase",
				function($) {
					return function(node) {
						var showZone, editZone, smallIcon, addTag, tagZone, normalIcon, appIcon120, appIcon180, tgIcon, appImage, checkZone, editBtn, nodeList, iframeInput, iframeCheck, iframeTips, appName, appNameZone, maintainRadio, maintainZone, smallIconZone, normalIconZone, appIcon120Zone, appIcon180Zone, tgIconZone, appImageZone, saveBtn, cancelBtn, checkTag, accountInfo, delegated, domainDetail, domainWhiteList1, domainWhiteList2;
						var lang = $.kit.extra.language;
						var osPlatformCheck = true;
						var android_sign_info;
						var checkStatus = {
							isAppName : true,
							isCanvasUrl : true,
							isUid : true
						};
						try {
							var isWireless = $
									.sizzle("input[name=is_mobilegame_app]")[0].value == 1 ? true
									: false
						} catch (e) {
							var isWireless = false
						}
						var custEvt;
						var that = {};
						var preventDefault = $.core.evt.preventDefault, lockAjax = false;
						var language = $.kit.extra.language;
						var msg = {
							A00001 : "系统繁忙，请稍候再试。",
							M15062 : "站内应用地址不能为空",
							M15063 : "站内应用地址不能少于7位",
							M15064 : "站内应用地址不能超过20位",
							M15065 : "站内应用地址不能包含小写字母、下划线以外的字符",
							M15070 : "应用名称已存在，换一个试试",
							M15073 : "该站内应用地址已经存在了",
							M15074 : "该站内应用地址不可用，请重新输入",
							M15004 : "该应用名已被存在请更换一个",
							M15005 : "应用名称为空",
							M15006 : "应用名称长度超长",
							M15007 : "应用名称不能超过20个字母或10个汉字",
							M15008 : "应用介绍过长，上限不超过5000个汉字",
							M15009 : "应用介绍不能为空",
							M15021 : "应用地址不能为空",
							M15022 : "您输入的应用网址格式不正确",
							M15023 : "请选择应用分类",
							M15024 : "标签不超过8个汉字或16个字母，最多10个标签，逗号分隔",
							M15025 : "回调地址不能为空",
							M15026 : "您输入的回调地址格式不正确",
							M15027 : "没有接受《新浪微博开发者协议》不能创建应用",
							M15042 : "请选择应用类型",
							M15049 : "输入的URL长度不得超过500个字符",
							M15070 : "应用名称不合法",
							M15102 : "您创建的应用个数已达上限",
							M15180 : "邮箱未验证",
							M15181 : "个人手机验证码验证时间超时",
							M15182 : "验证码错误",
							M15183 : "验证码错误",
							M15184 : "验证码成功",
							M15185 : "验证码发送失败",
							M15190 : "验证码最多只能发送5条",
							M15187 : "应用介绍不能低于20个汉字",
							M15188 : "密码不正确或账号输入有误，请重新输入",
							M15200 : "文件上传失败",
							M15201 : "文件太大",
							M15202 : "文件格式不正确",
							M15203 : "上传的包名超过500套",
							M15204 : "上传的签名格式不正确",
							M15205 : "上传的包名小于等于3套",
							M15206 : "手机未验证"
						};
						var custEvent = $.core.evt.custEvent;
						var eventFuns = {};
						var bindDOMFuns = {
							checkAppName : function(cb, isScroll) {
								var funcb = cb || function() {
								};
								preventDefault();
								for ( var x in nodeList.appName) {
									var func = nodeList.appName[x].func;
									var message = language(nodeList.appName[x].msg);
									if (!func(appName)) {
										appNameZone.innerHTML = '<div class="M_notice_del"><span class="icon_del"></span><span class="txt">'
												+ message + "</span></div>";
										if (isScroll) {
											$.core.util.scrollTo(appNameZone, {
												top : 50
											})
										}
										return
									}
								}
								if (checkStatus.isAppName) {
									cb();
									return
								}
								var cfg = {
									appkey : $.sizzle('[name="appkey"]', node)[0].value,
									appname : $.trim(appName.value)
								};
								$.common.trans.app
										.getTrans(
												"checkappname",
												{
													onSuccess : function(ret,
															params) {
														checkStatus.isAppName = true;
														cb()
													},
													onError : function(ret,
															params) {
														var message = msg[ret.code]
																|| msg.M15070;
														if (isScroll) {
															$.core.util
																	.scrollTo(
																			appNameZone,
																			{
																				top : 50
																			})
														}
														appNameZone.innerHTML = '<div class="M_notice_del"><span class="icon_del"></span><span class="txt">'
																+ message
																+ "</span></div>"
													}
												}).request(cfg)
							},
							checkCanvalUrl : function(cb, isScroll) {
								var canvasInput = $.sizzle(
										'[checkType="appUrl"]', node)[0];
								var canvasZone = $.sizzle(
										'[tipsCheck="appUrl"]', node)[0];
								var funcb = cb || function() {
								};
								for ( var x in nodeList.appUrl) {
									var func = nodeList.appUrl[x].func;
									var message = language(nodeList.appUrl[x].msg);
									if (!func(canvasInput)) {
										canvasZone.innerHTML = '<div class="M_notice_del"><span class="icon_del"></span><span class="txt">'
												+ message + "</span></div>";
										if (isScroll) {
											$.core.util.scrollTo(canvasZone, {
												top : 50
											})
										}
										return
									}
								}
								if (checkStatus.isCanvasUrl) {
									cb();
									return
								}
								var cfg = {
									appkey : $.sizzle('[name="appkey"]', node)[0].value,
									canvas_url : $.trim(canvasInput.value)
								};
								$.common.trans.app
										.getTrans(
												"checkcanvas",
												{
													onSuccess : function(ret,
															params) {
														checkStatus.isCanvasUrl = true;
														cb()
													},
													onError : function(ret,
															params) {
														var message = msg[ret.code]
																|| msg.M15070;
														if (isScroll) {
															$.core.util
																	.scrollTo(
																			canvasZone,
																			{
																				top : 50
																			})
														}
														canvasZone.innerHTML = '<div class="M_notice_del"><span class="icon_del"></span><span class="txt">'
																+ message
																+ "</span></div>"
													}
												}).request(cfg)
							},
							edit : function() {
								showZone.style.display = "none";
								editZone.style.display = ""
							},
							cancelEdit : function() {
								showZone.style.display = "";
								editZone.style.display = "none"
							},
							save : function() {
								if (!checkZone.check()) {
									return
								}
								if (checkTag && !checkTag.check()) {
									return
								}
								if (addTag && !addTag.check("submit")) {
									return
								}
								if (!smallIcon.check()) {
									return
								}
								if (!normalIcon.check()) {
									return
								}
								if (!appIcon120.check()) {
									return
								}
								if (!appImage.check()) {
									return
								}
								var cfg = $.core.util.htmlToJson(node);
								if (!bindDOMFuns.androidCsvInputCheck()) {
									return
								}
								if (!bindDOMFuns.mobileVerify()) {
									return
								}
								if (cfg.bind_domain == 1
										&& !bindDOMFuns.domainVerify()) {
									return
								}
								if (typeof cfg.app_os == "string"
										&& cfg.app_os.length > 0) {
									cfg.app_os = [ cfg.app_os ]
								}
								if (cfg.app_os
										&& $.core.arr.isArray(cfg.app_os)
										&& cfg.app_os.length) {
									if (!isWireless) {
										if ($.arrIndexOf("20100", cfg.app_os) == -1
												&& $.arrIndexOf("30100",
														cfg.app_os) == -1) {
											delete cfg.apple_id;
											delete cfg.apple_pack;
											try {
												delete cfg.apple_pack2;
												delete cfg.apple_pack3
											} catch (e) {
											}
										}
										delete cfg.android_pack;
										delete cfg.android_sign;
										if ($.arrIndexOf("20200", cfg.app_os) == -1
												&& $.arrIndexOf("30200",
														cfg.app_os) == -1) {
											delete cfg.android_url
										}
										delete cfg.csv;
										delete cfg.android_package_input_type;
										if ($.arrIndexOf("20200", cfg.app_os) != -1
												|| $.arrIndexOf("30200",
														cfg.app_os) != -1) {
											if (android_sign_info.csv_arr != null) {
												cfg.csv_arr = $
														.jsonToStr(android_sign_info.csv_arr)
											}
											if (android_sign_info.csv_name != null) {
												cfg.csv_name = android_sign_info.csv_name
											}
										}
									}
									cfg.app_os = cfg.app_os.join(",")
								}
								if (isWireless) {
									if (!appIcon180.check()) {
										return
									}
									if (!tgIcon.check()) {
										return
									}
									if (typeof window.$APKARR === "object") {
										cfg = $.core.json.merge(cfg,
												window.$APKARR)
									}
								}
								if (lockAjax) {
									return
								}
								if (cfg.wb_self * 1 == 1) {
									delete cfg.wb_user;
									delete cfg.wb_pass
								}
								if (cfg.bind_domain * 1 == 0) {
									delete cfg.domain
								} else {
									$.isArray(cfg.domain)
											&& (cfg.domain = cfg.domain
													.join(","))
								}
								bindDOMFuns.showAccountError(false);
								lockAjax = true;
								$.common.trans.app
										.getTrans(
												"editbasic",
												{
													onSuccess : function(ret,
															params) {
														var href = window.location.protocol
																+ "//"
																+ window.location.hostname
																+ window.location.pathname;
														window.location.href = href
													},
													onError : function(ret,
															params) {
														if (ret.code == "M15188") {
															bindDOMFuns
																	.showAccountError(true)
														} else {
															$.ui
																	.alert(msg[ret.code]
																			|| msg.A00001)
														}
														lockAjax = false
													}
												}).request(cfg)
							},
							defaultIframe : function() {
								if (iframeCheck.checked) {
									iframeInput.disabled = true;
									iframeTips.style.display = "";
									$.core.evt.fireEvent(iframeInput, "blur")
								} else {
									iframeInput.disabled = false;
									iframeTips.style.display = "none";
									$.core.evt.fireEvent(iframeInput, "blur")
								}
							},
							maintain : function() {
								if ($.sizzle('input[name="maintain"]:checked',
										node)[0].value == "1") {
									maintainZone.style.display = ""
								} else {
									maintainZone.style.display = "none"
								}
							},
							accountInfoListener : function() {
								var nodes = $.kit.dom.parseDOM($
										.builder(accountInfo).list);
								var isPlaceholderSupport = ("placeholder" in document
										.createElement("input"));
								var dele = $.core.evt
										.delegatedEvent(accountInfo);
								dele.add("current", "click", function() {
									$.setStyle(nodes.account_detail, "display",
											"none")
								});
								dele.add("other", "click", function() {
									$.setStyle(nodes.account_detail, "display",
											"")
								});
								if (!isPlaceholderSupport) {
									dele.add("tip", "click", function(e) {
										var evt = $.fixEvent($.getEvent(e));
										var target = evt.target
												|| evt.srcElement;
										var node = $.domPrev(target);
										if (node) {
											try {
												node.focus()
											} catch (e) {
											}
										}
									});
									fixPlaceHolder()
								}
								function fixPlaceHolder() {
									var inputNodes = $.sizzle("input",
											nodes.account_detail);
									for ( var i = 0, len = inputNodes.length; i < len; i++) {
										var item = inputNodes[i];
										var attr = item
												.getAttribute("placeholder");
										$.insertHTML(item,
												'<span class="password_placeholder" action-type="tip">'
														+ attr + "</span>",
												"afterend");
										$.addEvent(item, "keyup", tipsHandle);
										$.addEvent(item, "blur", tipsHandle)
									}
								}
								function tipsHandle(e) {
									var evt = $.fixEvent($.getEvent(e));
									var target = evt.target || evt.srcElement;
									var tip = $.domNext(target);
									if (tip) {
										$
												.setStyle(
														tip,
														"display",
														(target.value.length > 0 ? "none"
																: ""))
									}
								}
							},
							showAccountError : function(isShow) {
								var error = $.sizzle(
										'div[class="login_input_tip"]',
										accountInfo);
								if (error.length > 0) {
									error = error[0];
									$.setStyle(error, "display", isShow ? ""
											: "none");
									if (isShow) {
										accountInfo.scrollIntoView(true)
									}
								}
							},
							domainVerifyListener : function() {
								var domains = $.sizzle(
										'input[checkType="app_domain"]', node);
								if (domains.length > 0) {
									for ( var i = 0, len = domains.length; i < len; i++) {
										$
												.addEvent(
														domains[i],
														"blur",
														function(e) {
															var evt = $
																	.fixEvent(e);
															var target = evt.target;
															var domain = target.value;
															var result = bindDOMFuns
																	.checkDomain(domain);
															bindDOMFuns
																	.setDomainError(
																			target,
																			result)
														})
									}
								}
							},
							domainVerify : function() {
								var domains = $.sizzle(
										'input[checkType="app_domain"]',
										domainDetail);
								var result = true;
								if (domains.length > 0) {
									for ( var i = 0, len = domains.length; i < len; i++) {
										var check = bindDOMFuns
												.checkDomain(domains[i].value);
										if (check != true) {
											result = false
										}
										bindDOMFuns.setDomainError(domains[i],
												check, len)
									}
								}
								return result
							},
							setDomainError : function(node, result, count) {
								if ($.isNode(node) != true) {
									return
								}
								if (count == null) {
									count = $.sizzle('input[name="domain"]',
											domainDetail).length
								}
								node = $.domNext(node.parentNode);
								node.innerHTML = result === true ? '<div class="M_notice_succ"><span class="icon_succ"></span>'
										+ (count > 1 ? ' <a href="#" onclick="return false;" action-type="delete_domain" class="domain_del_link">删除</a>'
												: "") + "</div>"
										: '<div class="M_notice_del"><span class="icon_del"></span>'
												+ lang(result) + "</div>"
							},
							getDomainWhiteList : function() {
								var domainOneDot = [], domainTwoDot = [];
								for ( var key in $DOMAIN_POSTFIX) {
									var item = $DOMAIN_POSTFIX[key];
									domainOneDot.push(key);
									if (item.length > 0) {
										domainTwoDot.push(item.join("|")
												.replace(/\./g, "\\."))
									}
								}
								domainWhiteList1 = new RegExp("(\\"
										+ domainOneDot.join("|\\") + ")$", "i");
								domainWhiteList2 = new RegExp("("
										+ domainTwoDot.join("|") + ")$", "i")
							},
							checkDomainByWhiteList : function(domain) {
								if (domainWhiteList1 == null
										|| domainWhiteList2 == null) {
									bindDOMFuns.getDomainWhiteList()
								}
								var str = domain.replace(domainWhiteList2, "");
								if (str == domain) {
									str = str.replace(domainWhiteList1, "")
								}
								if (str == domain) {
									return false
								} else {
									var re = /^[a-z0-9]+(-?[a-z0-9]+)*(\.[a-z0-9]+(-?[a-z0-9]+)*)?$/i;
									if (re.test(str)) {
										return true
									} else {
										return false
									}
								}
							},
							checkDomain : function(domain) {
								var str = $.trim(domain);
								var rule = $.common.check.check;
								var rules = [
										{
											msg : "#L{域名不能为空}",
											func : function(str) {
												return rule.empty(str)
											}
										},
										{
											msg : "#L{请填写主域名及二级域名，如有疑问请联系开放平台运营账号<a href='http://e.weibo.com/openapi' target='_blank'>@微博开放平台</a>}",
											func : function(str) {
												return bindDOMFuns
														.checkDomainByWhiteList(str)
											}
										}, {
											msg : "#L{域名长度不能超过500个字符}",
											func : function(str) {
												return $.bLength(str) <= 500
											}
										} ];
								for ( var i = 0, len = rules.length; i < len; i++) {
									if (rules[i].func(domain) == false) {
										return rules[i].msg
									}
								}
								return true
							},
							mobileVerifyListener : function() {
								var appleId = $.E("apple_id"), applePack = $
										.E("apple_pack"), applePack2 = $
										.E("apple_pack2"), applePack3 = $
										.E("apple_pack3"), androidPack = $
										.E("android_pack"), androidSign = $
										.E("android_sign"), androidSignDebug = $
										.E("android_sign_debug"), androidUrl = $
										.E("android_url"), appVerCode = $
										.E("ios_version_code"), appVerName = $
										.E("ios_version_name");
								var appleIdTip = '<div class="single_tip W_textb">如何查找Apple ID<span action-type="tips" action-data="apple_id" class="icon_notice_ask"></span></div><div class="apple_id_explain_img" style="display:none;" node-type="apple_id_tips"></div>';
								var androidSignTip = '<div class="single_tip W_textb">通过下载使用平台提供的<a href="https://github.com/mobileresearch/weibo_android_sdk/blob/master/app_signatures.apk" target="_blank">签名工具</a>获取</div>';
								var androidSignDebugTip = '<div class="single_tip W_textb">用户根据需要填写，可以不填。</div>';
								$.addEvent(appleId, "focus", function() {
									bindDOMFuns.setMobileError(appleId,
											appleIdTip)
								});
								$
										.addEvent(
												appleId,
												"blur",
												function() {
													if ($.trim(appleId.value) == "") {
														bindDOMFuns
																.setMobileError(
																		appleId,
																		false)
													} else {
														if (/\D/
																.test(appleId.value)) {
															bindDOMFuns
																	.setMobileError(
																			appleId,
																			'<div class="M_notice_del"><span class="icon_del"></span>Apple ID只能为数字形式</div>')
														} else {
															bindDOMFuns
																	.setMobileError(
																			appleId,
																			appleIdTip)
														}
													}
												});
								$.addEvent(appVerCode, "blur", function() {
									if ($.trim(appVerCode.value) == "") {
										bindDOMFuns.setMobileError(appVerCode,
												false)
									} else {
										bindDOMFuns.setMobileError(appVerCode,
												true)
									}
								});
								$.addEvent(appVerName, "blur", function() {
									if ($.trim(appVerName.value) == "") {
										bindDOMFuns.setMobileError(appVerName,
												false)
									} else {
										bindDOMFuns.setMobileError(appVerName,
												true)
									}
								});
								$.addEvent(applePack, "blur", function() {
									if ($.trim(applePack.value) == "") {
										bindDOMFuns.setMobileError(applePack,
												false)
									} else {
										bindDOMFuns.setMobileError(applePack,
												true)
									}
								});
								$.addEvent(applePack2, "blur", function() {
									if ($.trim(applePack2.value) == "") {
									} else {
										bindDOMFuns.setMobileError(applePack2,
												true)
									}
								});
								$.addEvent(applePack3, "blur", function() {
									if ($.trim(applePack3.value) == "") {
									} else {
										bindDOMFuns.setMobileError(applePack3,
												true)
									}
								});
								$.addEvent(androidPack, "blur", function() {
									if ($.trim(androidPack.value) == "") {
										bindDOMFuns.setMobileError(androidPack,
												false)
									} else {
										bindDOMFuns.setMobileError(androidPack,
												true)
									}
								});
								$.addEvent(androidSign, "focus", function() {
									bindDOMFuns.setMobileError(androidSign,
											androidSignTip)
								});
								$
										.addEvent(
												androidSign,
												"blur",
												function() {
													setTimeout(
															function() {
																if ($
																		.trim(androidSign.value) == "") {
																	bindDOMFuns
																			.setMobileError(
																					androidSign,
																					false)
																} else {
																	if (/[^a-z0-9]/
																			.test(androidSign.value)
																			|| $
																					.trim(androidSign.value).length != 32) {
																		bindDOMFuns
																				.setMobileError(
																						androidSign,
																						"签名为数字及小写字母组合的32位字符")
																	} else {
																		bindDOMFuns
																				.setMobileError(
																						androidSign,
																						true)
																	}
																}
															}, 0)
												});
								$.addEvent(androidSignDebug, "focus",
										function() {
											bindDOMFuns.setMobileError(
													androidSignDebug,
													androidSignDebugTip)
										});
								$
										.addEvent(
												androidSignDebug,
												"blur",
												function() {
													setTimeout(
															function() {
																if ($
																		.trim(androidSignDebug.value) != ""
																		&& (/[^a-z0-9]/
																				.test(androidSignDebug.value) || $
																				.trim(androidSignDebug.value).length != 32)) {
																	bindDOMFuns
																			.setMobileError(
																					androidSignDebug,
																					"签名为数字及小写字母组合的32位字符")
																} else {
																	bindDOMFuns
																			.setMobileError(
																					androidSignDebug,
																					true)
																}
															}, 0)
												});
								$
										.addEvent(
												androidUrl,
												"blur",
												function() {
													var rule = $.common.check.check;
													if ($
															.trim(androidUrl.value) == "") {
														bindDOMFuns
																.setMobileError(
																		androidUrl,
																		false)
													} else {
														if (rule
																.URL(androidUrl.value) != true) {
															bindDOMFuns
																	.setMobileError(
																			androidUrl,
																			"Android 应用下载地址不正确")
														} else {
															bindDOMFuns
																	.setMobileError(
																			androidUrl,
																			true)
														}
													}
												})
							},
							mobileVerify : function() {
								var result = true;
								var appleId = $.E("apple_id"), applePack = $
										.E("apple_pack"), applePack2 = $
										.E("apple_pack2"), applePack3 = $
										.E("apple_pack3"), androidPack = $
										.E("android_pack"), androidSign = $
										.E("android_sign"), androidUrl = $
										.E("android_url"), appVerCode = $
										.E("ios_version_code"), appVerName = $
										.E("ios_version_name"), apkFile = $
										.E("apkFile");
								var rule = $.common.check.check;
								if (($.E("checkBox20100") && $
										.E("checkBox20100").checked)
										|| ($.E("checkBox30100") && $
												.E("checkBox30100").checked)) {
									if ($.trim(appleId.value) == "") {
										result = false;
										bindDOMFuns.setMobileError(appleId,
												false)
									} else {
										if (/\D/.test(appleId.value)) {
											bindDOMFuns
													.setMobileError(appleId,
															'<div class="M_notice_del"><span class="icon_del"></span>Apple ID只能为数字形式</div>')
										}
									}
									if ($.trim(applePack.value) == "") {
										result = false;
										bindDOMFuns.setMobileError(applePack,
												false)
									}
									if (appVerCode) {
										if ($.trim(appVerCode.value) == "") {
											result = false;
											bindDOMFuns.setMobileError(
													appVerCode, false)
										}
									}
									if (appVerName) {
										if ($.trim(appVerName.value) == "") {
											result = false;
											bindDOMFuns.setMobileError(
													appVerName, false)
										}
									}
								}
								if (($.E("checkBox20200") && $
										.E("checkBox20200").checked)
										|| ($.E("checkBox30200") && $
												.E("checkBox30200").checked)) {
									if (isWireless && androidPack
											&& androidSign) {
										if ($.trim(androidPack.value) == "") {
											result = false;
											bindDOMFuns.setMobileError(
													androidPack, false)
										}
										if ($.trim(androidSign.value) == "") {
											result = false;
											bindDOMFuns.setMobileError(
													androidSign, false)
										} else {
											if (/[^a-z0-9]/
													.test(androidSign.value)
													|| $
															.trim(androidSign.value).length != 32) {
												result = false;
												bindDOMFuns.setMobileError(
														androidSign,
														"签名为数字及小写字母组合的32位字符")
											}
										}
									}
									if (androidUrl) {
										if ($.trim(androidUrl.value) == "") {
											result = false;
											bindDOMFuns.setMobileError(
													androidUrl, false)
										} else {
											if (rule.URL(androidUrl.value) != true) {
												result = false;
												bindDOMFuns.setMobileError(
														androidUrl,
														"Android 应用下载地址不正确")
											}
										}
									}
									if (apkFile) {
										if ($.trim(apkFile.value) == "") {
											result = false;
											bindDOMFuns.setMobileError(
													apkFile.parentNode,
													"请上传apk文件包")
										}
									}
								}
								if (result == false) {
									$.E("appPlatForm").scrollIntoView(true)
								}
								return result
							},
							setMobileError : function(node, result) {
								if ($.isNode(node) != true) {
									return
								}
								var id = node.id;
								var info = {
									apple_id : "Apple ID",
									apple_pack : "Bundle ID",
									apple_pack2 : "Bundle ID",
									apple_pack3 : "Bundle ID",
									android_pack : "Android包名",
									android_sign : "Android签名",
									android_sign_debug : "Android测试版签名",
									android_url : "Android下载地址",
									ios_version_code : "应用版本编号",
									ios_version_name : "应用版本名称",
									apkFile : "请上传apk文件包"
								};
								var html;
								if (result == true) {
									html = '<div class="M_notice_succ"><span class="icon_succ"></span></div>'
								} else {
									if (result == false) {
										html = '<div class="M_notice_del"><span class="icon_del"></span>'
												+ info[id] + "不能为空</div>"
									} else {
										if (/^</.test(result)) {
											html = result
										} else {
											html = '<div class="M_notice_del"><span class="icon_del"></span>'
													+ result + "</div>"
										}
									}
								}
								var tip = $.domNext(node.parentNode);
								if (!tip) {
									tip = $.insertHTML(node.parentNode,
											'<dd class="tipbox"></dd>',
											"afterend")
								}
								tip && (tip.innerHTML = html)
							},
							selectChange : function(cKey, data) {
								if (!isWireless || !window.$IOSARR) {
									return
								}
								var appleId = $.E("apple_id"), applePack = $
										.E("apple_pack"), applePack2 = $
										.E("apple_pack2"), applePack3 = $
										.E("apple_pack3"), iosLow = $
										.E("ios_low"), appVerCode = $
										.E("ios_version_code"), appVerName = $
										.E("ios_version_name"), androidPack = $
										.E("android_pack"), androidSign = $
										.E("android_sign"), apkFile = $
										.E("apkFile"), current = $IOSARR.app_os_level1_show, apkName = nodes.apkName[0], uploadBtn = $
										.sizzle("span", nodes.apkreload[0])[0];
								if (current == data) {
									appleId.value = $IOSARR.apple_id;
									applePack.value = $IOSARR.apple_pack;
									applePack2.value = $IOSARR.apple_pack2
											|| "";
									applePack3.value = $IOSARR.apple_pack3
											|| "";
									iosLow.value = $IOSARR.ios_low;
									appVerCode.value = $IOSARR.ios_version_code;
									appVerName.value = $IOSARR.ios_version_name;
									androidSign.value = $APKARR.android_sign;
									apkFile.value = $APKARR.apk_name;
									apkName.innerHTML = $APKARR.apk_name;
									uploadBtn.innerHTML = "重新上传"
								} else {
									appleId.value = "";
									applePack.value = "";
									applePack2.value = "";
									applePack3.value = "";
									iosLow.value = 1;
									appVerCode.value = "";
									appVerName.value = "";
									androidSign.value = "";
									apkFile.value = "";
									apkName.innerHTML = "";
									uploadBtn.innerHTML = "上传apk包"
								}
							},
							osPlatformCheckboxCheck : function(checkboxList,
									errorInfo) {
								if (!errorInfo) {
									return
								}
								var len = 0;
								var css = $.core.dom
										.cssText(errorInfo.style.cssText);
								for ( var i = 0; i < checkboxList.length; i++) {
									if (checkboxList[i].checked) {
										len++
									}
								}
								if (len <= 0) {
									osPlatformCheck = false;
									css.remove("display")
								} else {
									osPlatformCheck = true;
									css.push("display", "none")
								}
								errorInfo.style.cssText = css.getCss()
							},
							androidCsvDelegate : function(type) {
								var nodes = $.kit.dom
										.parseDOM($.builder(node).list);
								switch (type) {
								case "1":
									nodes.android_info_form.style.display = "";
									nodes.android_info_upload.style.display = "none";
									$.removeEvent(nodes.android_csv, "change",
											bindDOMFuns.androidCsvUploadButton);
									bindDOMFuns.androidCsvInput(true);
									break;
								case "2":
									nodes.android_info_form.style.display = "none";
									nodes.android_info_upload.style.display = "";
									$.addEvent(nodes.android_csv, "change",
											bindDOMFuns.androidCsvUploadButton);
									bindDOMFuns.androidCsvInput(false);
									nodes.csv_download.href = "/appconsole/download_csv.php?appkey="
											+ $CONFIG.appkey
											+ "&pt="
											+ $CSVARR.csv_pt;
									break
								}
							},
							androidCsvInput : function(status) {
								var nodes = $.kit.dom
										.parseDOM($.builder(node).list);
								var signs = $.sizzle(
										'input[name="android_sign"]',
										nodes.android_info_form);
								if (signs.length > 0) {
									for ( var i = 0, len = signs.length; i < len; i++) {
										if (status == true) {
											$
													.addEvent(
															signs[i],
															"focus",
															bindDOMFuns.androidSignFocus);
											$
													.addEvent(
															signs[i],
															"blur",
															bindDOMFuns.androidSignBlur)
										} else {
											$
													.removeEvent(
															signs[i],
															"focus",
															bindDOMFuns.androidSignFocus);
											$
													.removeEvent(
															signs[i],
															"blur",
															bindDOMFuns.androidSignBlur)
										}
									}
								}
							},
							androidSignFocus : function() {
								var evt = $.fixEvent();
								var el = evt.target;
								var html = '<div class="single_tip W_textb">通过下载使用平台提供的<a href="https://github.com/mobileresearch/weibo_android_sdk/blob/master/app_signatures.apk" target="_blank">签名工具</a>获取<span action-type="tips" action-data="android_sign"></span></div>';
								setTimeout(function() {
									bindDOMFuns.androidSignShowTips(el, html)
								}, 200)
							},
							androidSignBlur : function(spec) {
								var evt = $.fixEvent();
								var el = evt.target;
								setTimeout(
										function() {
											if ($.trim(el.value) == "") {
												var pack = $
														.sizzle(
																"input[name=android_pack]",
																el.parentNode.parentNode.parentNode);
												if (pack.length > 0
														&& $
																.trim(pack[0].value) != "") {
													bindDOMFuns
															.setMobileError(el,
																	"签名为数字及小写字母组合的32位字符")
												}
											} else {
												if (/[^a-z0-9]/.test(el.value)
														|| $.trim(el.value).length != 32) {
													bindDOMFuns
															.setMobileError(el,
																	"签名为数字及小写字母组合的32位字符")
												} else {
													bindDOMFuns.setMobileError(
															el, true)
												}
											}
										}, 200)
							},
							androidSignShowTips : function(node, result) {
								var html;
								if (result == true) {
									html = '<div class="M_notice_succ"><span class="icon_succ"></span></div>'
								} else {
									if (result == false) {
										html = '<div class="M_notice_del"><span class="icon_del"></span>签名不能为空</div>'
									} else {
										if (/^</.test(result)) {
											html = result
										} else {
											html = '<div class="M_notice_del"><span class="icon_del"></span>'
													+ result + "</div>"
										}
									}
								}
								var tip = $.domNext(node.parentNode);
								if (!tip) {
									tip = $.insertHTML(node.parentNode,
											'<dd class="tipbox"></dd>',
											"afterend")
								}
								tip && (tip.innerHTML = html)
							},
							androidCsvInputCheck : function() {
								var result = true, hasError = false;
								if (isWireless) {
									return true
								}
								if (($.E("checkBox20200") && $
										.E("checkBox20200").checked == true)
										|| ($.E("checkBox30200") && $
												.E("checkBox30200").checked == true)) {
									var upload = $
											.sizzle(
													'[node-type="android_info_upload"]',
													node);
									if (upload.length > 0
											&& upload[0].style.display != "none") {
										if (android_sign_info != null
												&& android_sign_info.csv_arr != null
												&& android_sign_info.csv_name != null) {
											return result
										} else {
											$.E("appPlatForm").scrollIntoView(
													true);
											setTimeout(
													function() {
														bindDOMFuns
																.showTipAlert('<p class="clearfix"><span class="icon_delM"></span>导入失败，请选择文件进行导入</p>')
													}, 100);
											return false
										}
									} else {
										var atLeastOne = false;
										var csv_arr = [];
										var nodes = $.kit.dom.parseDOM($
												.builder(node).list);
										var packs = $.sizzle(
												'input[name="android_pack"]',
												nodes.android_info_form);
										var signs = $.sizzle(
												'input[name="android_sign"]',
												nodes.android_info_form);
										if (packs.length > 0
												&& signs.length > 0) {
											for ( var i = 0; i < 3; i++) {
												if (packs[i] != null
														&& signs[i] != null) {
													if ($.trim(packs[i].value) == ""
															&& $
																	.trim(signs[i].value) == "") {
													} else {
														if ($
																.trim(packs[i].value) == ""
																&& $
																		.trim(signs[i].value) != "") {
															bindDOMFuns
																	.androidSignShowTips(
																			packs[i],
																			"包名不能为空");
															if (hasError != true) {
																signs[i]
																		.scrollIntoView(true)
															}
															hasError = true;
															result = false
														} else {
															if (/[^a-z0-9]/
																	.test(signs[i].value)
																	|| $
																			.trim(signs[i].value).length != 32) {
																bindDOMFuns
																		.androidSignShowTips(
																				signs[i],
																				"签名为数字及小写字母组合的32位字符");
																if (hasError != true) {
																	signs[i]
																			.scrollIntoView(true)
																}
																hasError = true;
																result = false
															} else {
																bindDOMFuns
																		.setMobileError(
																				packs[i],
																				true);
																bindDOMFuns
																		.setMobileError(
																				signs[i],
																				true);
																csv_arr
																		.push({
																			pack : packs[i].value,
																			sign : signs[i].value
																		});
																atLeastOne = true
															}
														}
													}
												}
											}
										}
										if (hasError != true
												&& atLeastOne == false) {
											bindDOMFuns.androidSignShowTips(
													packs[0], "最少需要输入一套包名签名");
											result = false
										}
										if (csv_arr.length > 0) {
											android_sign_info.csv_arr = csv_arr;
											android_sign_info.csv_name = null;
											android_sign_info.count = csv_arr.length
										}
									}
									if (result == false) {
										$.E("appPlatForm").scrollIntoView(true)
									}
								}
								return result
							},
							androidCsvUploadButton : function() {
								var nodes = $.kit.dom
										.parseDOM($.builder(node).list);
								bindDOMFuns
										.showTipAlert('<p class="clearfix"><span class="W_loading_a"></span>文件正在导入中，请稍后...</p>');
								$.addEvent(nodes.android_csv_upload, "load",
										bindDOMFuns.androidCsvUploadDone);
								nodes.android_csv_form.submit();
								nodes = null
							},
							androidCsvUploadDone : function() {
								var nodes = $.kit.dom
										.parseDOM($.builder(node).list);
								var info = nodes.android_csv_upload.contentWindow.document.body.innerHTML;
								info = eval("(" + info + ")");
								if (typeof info != "undefined"
										&& typeof info.code != "undefined") {
									if (info.code != "A00006") {
										var msg;
										switch (info.code) {
										case "M15200":
											msg = "导入失败，请重新上传";
											break;
										case "M15201":
											msg = "导入失败，导入文件过大，请重新上传";
											break;
										case "M15202":
											msg = "导入失败，暂不支持此文件格式，请重新上传";
											break;
										case "M15203":
											msg = "导入失败，文件内包名签名大于500套，请重新上传";
											break;
										case "M15205":
											msg = "上传的包名小于等于3套，请选择“当前页面录入”方式";
											break;
										case "M15204":
											msg = "导入失败，文件内有错误包名签名格式，请重新上传";
											break
										}
										bindDOMFuns
												.showTipAlert('<p class="clearfix"><span class="icon_delM"></span>'
														+ msg + "</p>")
									} else {
										bindDOMFuns
												.showTipAlert('<p class="clearfix"><span class="icon_succM"></span>导入成功</p>');
										android_sign_info = eval("("
												+ info.data + ")");
										var output = [];
										for ( var i = 0; i < 3; i++) {
											output
													.push('<div class="import_data_row"><dl class="row_property clearfix"><div class="row_property_name">Android包名：</div><div class="row_property_value">'
															+ android_sign_info.csv_arr[i].pack
															+ '</div></dl><dl class="row_property clearfix"><div class="row_property_name">Android签名'
															+ (i + 1)
															+ '：</div><div class="row_property_value">'
															+ android_sign_info.csv_arr[i].sign
															+ "</div></dl></div>")
										}
										if (output.length > 1) {
											output = output
													.join('<div class="dara_row_line"></div>')
										} else {
											output = output.join("")
										}
										if (android_sign_info.csv_arr.length > 3) {
											output += '<div class="import_data_more"><a href="http://open.weibo.com/appconsole/packsign.php?appkey='
													+ $CONFIG.appkey
													+ "&pt="
													+ $CSVARR.csv_pt
													+ '" title="" target="_blank">查看更多»</a></div>'
										}
										nodes.android_sign_preview.innerHTML = output;
										nodes.android_csv_name.innerHTML = '<em class="import_file_name">'
												+ android_sign_info.csv_name
												+ "</em>"
									}
									setTimeout(
											bindDOMFuns.uploadTipAlert.layer.hide,
											3000)
								}
								nodes.android_csv_form.reset();
								$.removeEvent(nodes.android_csv_upload, "load",
										bindDOMFuns.androidCsvUploadDone);
								nodes = null
							},
							uploadTipAlert : null,
							showTipAlert : function(text) {
								var template = '<#et temp data><div node-type="outer" class="op_layer"><div class="bg"><table cellspacing="0" cellpadding="0" border="0"><tbody><tr><td><div class="content layer_mini_info_big" node-type="inner"><p class="clearfix"><span class="${data.type}"></span>${data.msg}</p></div></td></tr></tbody></table></div></div></#et>';
								var alert;
								if (bindDOMFuns.uploadTipAlert == null) {
									alert = $.ui.litePrompt("", {
										type : "W_loading_a",
										template : template,
										mask : false
									});
									bindDOMFuns.uploadTipAlert = alert
								} else {
									alert = bindDOMFuns.uploadTipAlert
								}
								alert.layer.html(text);
								var win = $.core.util.winSize();
								var dia = alert.layer.getSize(true);
								var box = alert.layer.getOuter();
								box.style.top = $.core.util.scrollPos()["top"]
										+ (win.height - dia.h) / 2 + "px";
								box.style.left = (win.width - dia.w) / 2 + "px"
							},
							changeSourceURLTips : function() {
								var IPHONE_TEXT = '请填写AppStore地址（<a href="https://itunes.apple.com/cn/app/id689967400" target="_blank">示例</a>）。AppStore暂未上架的填写首页（<a href="https://itunes.apple.com/cn" target="_blank">示例</a>），待上架后更新。';
								var ANDROID_TEXT = '请填写应用商店地址（<a href="http://www.wandoujia.com/apps/com.eico.weico" target="_blank">示例</a>）或自己开发的专用下载地址（<a href="http://weico.com/weico_android" target="_blank">示例</a>）';
								var TWO_OS_TEXT = '请填写同时包含AppStore链接及Android版下载链接的页面地址（<a href="http://www.guokr.com/mobile" target="_blank">示例</a>）';
								var OTHER_TEXT = '请填写含各版本应用下载链接的页面地址（<a href="http://www.gifshow.com/" target="_blank">示例</a>）';
								var boxs = $.sizzle("[action-type=app_os]",
										node);
								var isiPhone = false, isAndroid = false;
								var checkedNodes = [];
								for ( var i = 0, count = boxs.length; i < count; i++) {
									var item = boxs[i];
									if ((item.value == "20100" || item.value == "30100")
											&& item.checked) {
										isiPhone = true
									}
									if ((item.value == "20200" || item.value == "30200")
											&& item.checked) {
										isAndroid = true
									}
									if (item.checked) {
										checkedNodes.push(item)
									}
								}
								var tipNode = $.sizzle("[tipscheck=sourceUrl]",
										node);
								if (tipNode.length > 0) {
									tipNode = tipNode[0];
									var tip = "";
									if (checkedNodes.length > 2) {
										tip = OTHER_TEXT
									} else {
										if (isiPhone && isAndroid
												&& checkedNodes.length == 2) {
											tip = TWO_OS_TEXT
										} else {
											if (isAndroid
													&& checkedNodes.length == 1) {
												tip = ANDROID_TEXT
											} else {
												if (isiPhone
														&& checkedNodes.length == 1) {
													tip = IPHONE_TEXT
												} else {
													tip = OTHER_TEXT
												}
											}
										}
									}
									tipNode.setAttribute("data-tipsmsg", tip);
									tipNode.innerHTML = '<div class="M_notice_warn">'
											+ tip + "</div>"
								}
							}
						};
						var bindCustEvtFuns = {};
						var bindListenerFuns = {};
						var init = function() {
							argsCheck();
							parseDOM();
							initPlugins();
							eventInit();
							bindDOM();
							bindCustEvt();
							bindListener()
						};
						var argsCheck = function() {
							if (!node) {
								throw "node 没有定义"
							}
						};
						var parseDOM = function() {
							showZone = $.sizzle('[node-type="showZone"]', node)[0];
							editZone = $.sizzle('[node-type="editZone"]', node)[0];
							smallIconZone = $.sizzle('[imageKey="smallIcon"]',
									node)[0];
							normalIconZone = $.sizzle(
									'[imageKey="normalIcon"]', node)[0];
							appIcon120Zone = $.sizzle(
									'[imageKey="appIcon120"]', node)[0];
							tgIconZone = $.sizzle('[imageKey="640Icon"]', node)[0];
							appIcon180Zone = $.sizzle('[imageKey="180Icon"]',
									node)[0];
							appImageZone = $.sizzle('[imageKey="appImage"]',
									node).length ? $.sizzle(
									'[imageKey="appImage"]', node)[0] : null;
							tagZone = $.sizzle('[node-type="tagZone"]', node)[0];
							editBtn = $.sizzle('[node-type="editBtn"]', node)[0];
							saveBtn = $.sizzle('[node-type="saveBtn"]', node)[0];
							iframeInput = $.sizzle('[name="iframe_height"]',
									node)[0];
							iframeCheck = $.sizzle('[node-type="iframeCheck"]',
									node)[0];
							iframeTips = $.sizzle('[node-type="iframeTips"]',
									node)[0];
							cancelBtn = $.sizzle('[node-type="cancel"]', node)[0];
							appName = $.sizzle('[checktype="appName"]', node)[0];
							appNameZone = $.sizzle('[tipsCheck="appName"]',
									node)[0];
							maintainRadio = $.sizzle('input[name="maintain"]',
									node);
							maintainZone = $
									.sizzle('textarea[checktype="reason"]').length ? $
									.sizzle('textarea[checktype="reason"]')[0].parentNode.parentNode
									: null;
							domainDetail = $.sizzle(
									'div[node-type="domain_detail"]', node);
							domainDetail = (domainDetail.length > 0) ? domainDetail[0]
									: null;
							accountInfo = $.sizzle(
									'dd[node-type="account_info"]', node);
							if (accountInfo.length > 0) {
								accountInfo = accountInfo[0]
							}
						};
						var initPlugins = function() {
							var rule = $.common.check.check;
							nodeList = {
								appName : {
									"CF0308," : {
										msg : "#L{应用名称不能为空}",
										func : function(el) {
											el.value = $.trim(el.value);
											return rule.empty(el.value)
										}
									},
									CF0302 : {
										msg : "#L{应用名称不能超过20个字母或10个汉字}",
										func : function(el) {
											var value = $.trim(el.value);
											var lens = $.bLength(value);
											return (lens <= 20)
										}
									},
									CF0332 : {
										msg : "#L{只能输入中文英文数字下划线和小数点}",
										func : function(el) {
											var value = el.value;
											return /^[\w\u4e00-\u9fa5.]*$/
													.test($.trim(value))
										}
									},
									CF0333 : {
										msg : "#L{不能以下划线或小数点开头和结尾}",
										func : function(el) {
											var value = el.value;
											return !(/^[_.]+|[_.]+$/.test($
													.trim(value)))
										}
									}
								},
								short_desc : {
									CF0355 : {
										msg : "#L{应用简介不能为空}",
										func : function(el) {
											el.value = $.trim(el.value);
											return rule.empty(el.value)
										}
									},
									CF0356 : {
										msg : "#L{应用简介不能超过15个汉字}",
										func : function(el) {
											var value = $.trim(el.value);
											var lens = $.bLength(value);
											return (lens <= 30)
										}
									}
								},
								appIntro : {
									CF0305 : {
										msg : "#L{应用介绍不能为空}",
										func : function(el) {
											el.value = $.trim(el.value);
											return rule.empty(el.value)
										}
									},
									CF0306 : {
										msg : "#L{应用介绍不能超过2000个字母或1000个汉字}",
										func : function(el) {
											var value = $.trim(el.value);
											var lens = $.bLength(value);
											return (lens <= 2000)
										}
									},
									CF0341 : {
										msg : "#L{请输入20个字以上的应用介绍}",
										func : function(el) {
											var value = $.trim(el.value);
											var lens = $.bLength(value);
											return (lens >= 40)
										}
									}
								},
								sourceUrl : {
									CF0303 : {
										msg : "#L{应用地址不能为空}",
										func : function(el) {
											el.value = $.trim(el.value);
											return rule.empty(el.value)
										}
									},
									CF0304 : {
										msg : "#L{应用地址格式不正确}",
										func : function(el) {
											el.value = $.trim(el.value);
											return rule.URL(el.value)
										}
									},
									CF0338 : {
										msg : "#L{URL长度不能超过500个字符}",
										func : function(el) {
											return $.bLength($.trim(el.value)) <= 500
										}
									},
									CF1005 : {
										msg : "#L{地址填写不正确，请填写下载页面地址。例如：http://liao.sina.cn/}",
										func : function(el) {
											var reg = new RegExp(
													".apk$|.ios$|.zip$|.rar$",
													"ig");
											var ret = reg.test(el.value);
											return !ret
										}
									}
								},
								adminUrl : {
									CF0353 : {
										msg : "#L{管理地址不能为空}",
										func : function(el) {
											el.value = $.trim(el.value);
											return rule.empty(el.value)
										}
									},
									CF0354 : {
										msg : "#L{管理地址格式不正确}",
										func : function(el) {
											el.value = $.trim(el.value);
											return rule.URLoose(el.value)
										}
									},
									CF0358 : {
										msg : "#L{URL长度不能超过500个字符}",
										func : function(el) {
											return $.bLength($.trim(el.value)) <= 500
										}
									}
								},
								entapp_type : {
									CF0351 : {
										msg : "#L{请选择应用类型}",
										func : function(el) {
											el.value = $.trim(el.value);
											return el.value != "0"
										}
									}
								},
								service_number : {
									CF0352 : {
										msg : "#L{客服电话不能为空}",
										func : function(el) {
											el.value = $.trim(el.value);
											return rule.empty(el.value)
										}
									},
									CF0326 : {
										msg : "#L{电话号码格式有误}",
										func : function(el) {
											el.value = $.trim(el.value);
											return /^[+]?[0-9]+([xX-][0-9]+)*$/
													.test(el.value)
													&& el.value.length <= 30
										}
									}
								},
								appUrl : {
									M15166 : {
										msg : "#L{个性域名不能为空}",
										func : function(el) {
											el.value = $.trim(el.value);
											return rule.empty(el.value)
										}
									},
									M15167 : {
										msg : "#L{个性域名不能少于7位}",
										func : function(el) {
											return $.bLength($.trim(el.value)) >= 7
										}
									},
									M15168 : {
										msg : "#L{个性域名不能超过20位}",
										func : function(el) {
											return $.bLength($.trim(el.value)) <= 20
										}
									},
									M15169 : {
										msg : "#L{不能包含小写字母、下划线以外的字符}",
										func : function(el) {
											var value = $.trim(el.value);
											return (/^[a-z_]*$/.test(value))
										}
									},
									M15170 : {
										msg : "#L{不能以下划线开头}",
										func : function(el) {
											var value = $.trim(el.value);
											if (value.indexOf("_") != -1
													&& value.charAt(0) === "_") {
												return false
											}
											return true
										}
									}
								},
								iframeUrl : {
									M15161 : {
										msg : "#L{应用实际地址不能为空}",
										func : function(el) {
											el.value = $.trim(el.value);
											return rule.empty(el.value)
										}
									},
									M15162 : {
										msg : "#L{应用实际地址格式不正确}",
										func : function(el) {
											el.value = $.trim(el.value);
											return rule.URLoose(el.value)
										}
									}
								},
								iframeHeight : {
									M15163 : {
										msg : "#L{Iframe高度不能为空}",
										func : function(el) {
											el.value = $.trim(el.value);
											return rule.empty(el.value)
										}
									},
									M15164 : {
										msg : "#L{Iframe高度格式不正确}",
										func : function(el) {
											return /^\d*$/.test($
													.trim(el.value))
										}
									},
									M15165 : {
										msg : "#L{Iframe高度支持600-5000px}",
										func : function(el) {
											var value = $.trim(el.value);
											return parseInt(value, 10) >= 600
													&& parseInt(value, 10) <= 5000
										}
									}
								},
								reason : {
									M15071 : {
										msg : "#L{维护原因不能为空}",
										func : function(el) {
											el.value = $.trim(el.value);
											return rule.empty(el.value)
													|| $.E("unmaintain").checked
										}
									},
									M15075 : {
										msg : "#L{维护原因不能超过250个字符}",
										func : function(el) {
											return $.bLength($.trim(el.value)) <= 250
													|| $.E("unmaintain").checked
										}
									}
								},
								game_cate : {
									CF1004 : {
										msg : "#L{游戏类型不能为空}",
										func : function(el) {
											el.value = $.trim(el.value);
											return rule.empty(el.value)
										}
									}
								},
								game_keys : {
									CF1002 : {
										msg : "#L{关键字不能为空}",
										func : function(el) {
											el.value = $.trim(el.value);
											return rule.empty(el.value)
										}
									},
									CF1003 : {
										msg : "#L{应使用半角的逗号分隔}",
										func : function(el) {
											var value = $.trim(el.value);
											var reg = /，|;|；|\s/g;
											value = value.replace(reg, ",");
											var arr = value.split(","), narr = [];
											for ( var i = 0, len = arr.length; i < len; i++) {
												if (arr[i]) {
													narr.push(arr[i])
												}
											}
											el.value = narr.join(",");
											return (!rule.empty(el.value))
													|| !reg.test(el.value)
										}
									}
								},
								upver_txt : {
									CF0039 : {
										msg : "#L{版本更新说明不能超过1000汉字(2000字符)}",
										func : function(el) {
											el.value = $.trim(el.value);
											return $.bLength($.trim(el.value)) <= 2000
										}
									}
								}
							};
							checkZone = $.common.check
									.checkForm(nodeList, node);
							checkZone.init();
							if (tagZone) {
								addTag = $.comp.app.layer.addAllTags({
									parent : tagZone
								})
							}
							smallIcon = $.common.uploadImage
									.upload(smallIconZone);
							normalIcon = $.common.uploadImage
									.upload(normalIconZone);
							appIcon120 = $.common.uploadImage
									.upload(appIcon120Zone);
							if (appImageZone) {
								appImage = $.common.uploadImage
										.upload(appImageZone)
							} else {
								appImageZone = $.sizzle(
										'[node-type="uploadPrntScrn"]', node)[0];
								appImage = $.common.uploadImage
										.uploadPrntScrn(appImageZone);
								appImage.init(!isWireless)
							}
							if ($.sizzle('[node-type="checkTag"]', node).length) {
								checkTag = $.comp.app.typeselect(node);
								custEvent.add(checkTag, "change",
										bindDOMFuns.selectChange);
								bindDOMFuns.changeSourceURLTips()
							}
							if (accountInfo) {
								bindDOMFuns.accountInfoListener()
							}
							if (isWireless) {
								appIcon180 = $.common.uploadImage
										.upload(appIcon180Zone);
								tgIcon = $.common.uploadImage
										.upload(tgIconZone);
								var tip = $
										.trim($.sizzle(".app_file_upload_tips")[0].innerHTML);
								try {
									$.common.upload
											.upload(
													node,
													{
														onChange : function(
																result) {
															var apkFileTip = tip;
															if (result.msg == "error") {
																apkFileTip = "上传文件格式不正确"
															}
															bindDOMFuns
																	.setMobileError(
																			nodes.apkreload[0],
																			apkFileTip)
														},
														onComplete : function(
																data) {
															window.$APKARR = data;
															$.E("apkFile").value = data.apk_name;
															bindDOMFuns
																	.setMobileError(
																			nodes.apkreload[0],
																			true)
														}
													})
								} catch (e) {
								}
							}
							delegated = $.delegatedEvent(node);
							delegated
									.add(
											"bind_domain",
											"click",
											function(spec) {
												domainDetail.style.display = spec.data.bind == 1 ? ""
														: "none"
											});
							delegated.add("android_info_type", "click",
									function(spec) {
										var type = spec.data.type;
										bindDOMFuns.androidCsvDelegate(type)
									});
							(function() {
								var upload = $
										.sizzle("[node-type=android_info_upload]"), form = $
										.sizzle("[node-type=android_info_form]");
								if (upload.length > 0 && form.length > 0) {
									upload = upload[0];
									form = form[0];
									var isForm = (upload.style.display == "none") ? "1"
											: "2";
									bindDOMFuns.androidCsvDelegate(isForm);
									android_sign_info = $CSVARR
								}
							})();
							delegated
									.add(
											"app_os",
											"click",
											function(spec) {
												var os = spec.data.os
														.toLowerCase();
												var obj;
												if (os == "ipad") {
													os = "iphone"
												}
												if (os == "androidpad"
														|| os == "android phone") {
													os = "android"
												}
												if (os == "iphone"
														|| os == "android") {
													obj = $
															.sizzle(
																	'div[node-type="'
																			+ os
																			+ '_info"]',
																	node);
													if (obj.length > 0) {
														obj = obj[0];
														obj.style.display = spec.el.checked ? ""
																: "none"
													}
												}
												if (os == "mobile"
														|| os == "pc") {
													var checkBoxList = $
															.sizzle("input[name=app_os]");
													var errorInfo = $
															.sizzle(
																	"[id=app_appCheckBox_error1]",
																	node)[0];
													bindDOMFuns
															.osPlatformCheckboxCheck(
																	checkBoxList,
																	errorInfo)
												}
												if (os == "android") {
													if ($CSVARR.csv_pt == 0) {
														$CSVARR.csv_pt = (spec.data.os
																.toLowerCase() == "androidpad") ? "4"
																: "2"
													}
													obj = $
															.sizzle(
																	'[node-type="csv_download"]',
																	node);
													if (obj.length > 0) {
														obj = obj[0];
														obj.href = "/appconsole/download_csv.php?appkey="
																+ $CONFIG.appkey
																+ "&pt="
																+ $CSVARR.csv_pt
													}
												}
												bindDOMFuns
														.changeSourceURLTips()
											});
							delegated
									.add(
											"add_domain",
											"click",
											function(spec) {
												var result = bindDOMFuns
														.domainVerify();
												if (result == true) {
													var first = $
															.sizzle(
																	'span[class="icon_succ"]',
																	domainDetail);
													if (first.length > 0) {
														first = first[0];
														if ($.domNext(first) == null) {
															$
																	.insertHTML(
																			first,
																			' <a href="#" onclick="return false;" action-type="delete_domain" class="domain_del_link">删除</a>',
																			"afterend")
														}
													}
													var html = '<div class="added_input_line"><div class="input_line"><input name="domain" node-type="app_domain" type="text" checkType="app_domain" value="" class="W_inputStp"></div><div class="domain_check_tip" tipsCheck="app_domain"><div class="M_notice_succ"><a href="#" onclick="return false;" action-type="delete_domain" class="domain_del_link">删除</a></div></div></div>';
													var builder = $
															.builder(html);
													$
															.addEvent(
																	builder.list.app_domain[0],
																	"blur",
																	function(e) {
																		var evt = $
																				.fixEvent(e);
																		var target = evt.target;
																		var domain = target.value;
																		var result = bindDOMFuns
																				.checkDomain(domain);
																		bindDOMFuns
																				.setDomainError(
																						target,
																						result)
																	});
													var addButton = $.kit.dom
															.lastChild(domainDetail);
													$.insertBefore(builder.box,
															addButton);
													var domains = $
															.sizzle(
																	'input[name="domain"]',
																	domainDetail);
													if (domains.length > 4) {
														addButton.style.display = "none"
													}
												}
											});
							delegated
									.add(
											"delete_domain",
											"click",
											function(spec) {
												var oPB = $.kit.dom
														.parentElementBy(
																spec.el,
																domainDetail,
																function(el) {
																	if (el.className == "added_input_line") {
																		return true
																	}
																});
												if (oPB) {
													$.removeNode(oPB)
												}
												var domains = $.sizzle(
														'input[name="domain"]',
														domainDetail);
												if (domains.length == 1) {
													var links = $
															.sizzle(
																	'a[class="domain_del_link"]',
																	domainDetail);
													if (links.length > 0) {
														links = links[0];
														$.removeNode(links)
													}
												}
												if (domains.length < 5) {
													var addButton = $.kit.dom
															.lastChild(domainDetail);
													addButton.style.display = ""
												}
											});
							delegated
									.add(
											"tips",
											"mouseover",
											function(spec) {
												appleIdTips = $
														.sizzle(
																'div[node-type="apple_id_tips"]',
																node);
												appleIdTips = (appleIdTips.length > 0) ? appleIdTips[0]
														: null;
												appleIdTips
														&& (appleIdTips.style.display = "")
											});
							delegated
									.add(
											"tips",
											"mouseout",
											function(spec) {
												appleIdTips = $
														.sizzle(
																'div[node-type="apple_id_tips"]',
																node);
												appleIdTips = (appleIdTips.length > 0) ? appleIdTips[0]
														: null;
												appleIdTips
														&& (appleIdTips.style.display = "none")
											});
							bindDOMFuns.domainVerifyListener();
							bindDOMFuns.mobileVerifyListener()
						};
						var eventInit = function() {
						};
						var bindDOM = function() {
							$.addEvent(editBtn, "click", bindDOMFuns.edit);
							$
									.addEvent(
											saveBtn,
											"click",
											function() {
												bindDOMFuns
														.checkAppName(
																function() {
																	if (!osPlatformCheck) {
																		return
																	}
																	if ($
																			.sizzle(
																					'[checkType="appUrl"]',
																					node).length
																			&& !$
																					.sizzle(
																							'[checkType="appUrl"]',
																							node)[0].disabled) {
																		bindDOMFuns
																				.checkCanvalUrl(
																						bindDOMFuns.save,
																						true)
																	} else {
																		bindDOMFuns
																				.save()
																	}
																}, true)
											});
							$.addEvent(iframeCheck, "click",
									bindDOMFuns.defaultIframe);
							$.addEvent(cancelBtn, "click",
									bindDOMFuns.cancelEdit);
							$
									.addEvent(
											appName,
											"blur",
											function() {
												bindDOMFuns
														.checkAppName(function() {
															appNameZone.innerHTML = '<div class="M_notice_succ"><span class="icon_succ"></span></div>'
														})
											});
							if ($.sizzle('[checkType="appUrl"]', node).length
									&& !$.sizzle('[checkType="appUrl"]', node)[0].disabled) {
								$
										.addEvent(
												$.sizzle(
														'[checkType="appUrl"]',
														node)[0],
												"blur",
												function() {
													bindDOMFuns
															.checkCanvalUrl(function() {
																$
																		.sizzle(
																				'[tipsCheck="appUrl"]',
																				node)[0].inerHTML = '<div class="M_notice_succ"><span class="icon_succ"></span></div>'
															})
												});
								if ($.IE) {
									$.addEvent($.sizzle('[checkType="appUrl"]',
											node)[0], "propertychange",
											function() {
												checkStatus.isCanvasUrl = false
											})
								} else {
									$.addEvent($.sizzle('[checkType="appUrl"]',
											node)[0], "input", function() {
										checkStatus.isCanvasUrl = false
									})
								}
							}
							for (i = 0; i < maintainRadio.length; i++) {
								$.addEvent(maintainRadio[i], "click",
										bindDOMFuns.maintain)
							}
							if ($.IE) {
								$.addEvent(appName, "propertychange",
										function() {
											checkStatus.isAppName = false
										})
							} else {
								$.addEvent(appName, "input", function() {
									checkStatus.isAppName = false
								})
							}
						};
						var bindCustEvt = function() {
						};
						var bindListener = function() {
						};
						var destroy = function() {
						};
						init();
						that.destroy = function() {
						};
						return that
					}
				});
STK.pageletM.register("pl.app.editAppBasic", function(c) {
	var b = c.E("pl_editAppBasic");
	if (b) {
		var a = c.comp.app.editbase(b);
		return a
	}
});
STK
		.register(
				"comp.app.applyapp",
				function(a) {
					return function(s) {
						var h, z, q, x, t, A;
						var o = a.core.evt.preventDefault, g = false;
						var m = {};
						var k = {
							CF0330 : "激活AppKey，恢复应用调用接口的权限",
							CF0335 : "审核通过后，应用发表的微博将显示来源文案与链接。",
							CF0340 : "审核通过后，网站发表的微博将显示来源文案与链接。",
							CF0336 : "将应用推荐到微博的应用频道，让你的应用获得更多用户。",
							CF0337 : "通过广场审核后，您的应用会出现在专业版微博应用广场中，供企业、政府、媒体等专业版微博账号安装使用。",
							CF1103 : "请联系 BD 进行确认后方可通过审核。BD 邮箱：businessapi@staff.sina.com.cn",
							M00003 : "你尚未登录或登录已过期，请重新登录。",
							M15020 : "应用不存在",
							M15000 : "该应用尚未通过文案审核，请通过后再申请。",
							M15047 : "该应用已开通，请不要重复申请",
							M15048 : "该应用已被停止，请通过审核后再提交。",
							M15003 : "该应用已通过文案审核，请不要重复提交",
							M15048 : "该应用已被停止，请通过审核后再提交。",
							M15002 : "该应用已被推荐，请不要重复提交"
						};
						var e = {};
						var c = {
							animate : function() {
								x.className = x.className.replace("noanimate",
										"")
							},
							confirmStatus : function(B) {
								a.ui.confirm(B, {
									OK : c.request
								})
							},
							request : function() {
								var B = {};
								B.appkey = z.value;
								B.status = h.getAttribute("data-status");
								if (g) {
									return
								}
								g = true;
								a.common.trans.app.getTrans("applyapp", {
									onSuccess : function(C, D) {
										window.location.reload(true)
									},
									onError : function(C, D) {
										a.ui.alert(k[C.code] || k.A00001);
										g = false
									}
								}).request(B)
							},
							transApp : function() {
								o();
								if (h.getAttribute("data-code") == "reason") {
									a.ui
											.alert("您的应用需满足"
													+ h
															.getAttribute("data-reason")
													+ "方可提交审核。如果对于提交审核存在疑问，请通过<a href=mailto:weibo_app@vip.sina.com>weibo_app@vip.sina.com</a>联系我们。")
								} else {
									if (k[h.getAttribute("data-code")]) {
										c.confirmStatus(k[h
												.getAttribute("data-code")])
									}
								}
							},
							showTips : function() {
								o();
								if (A && A.style.display == "none") {
									A.style.display = "";
									a.addEvent(t, "mouseout", c.hideTips)
								}
							},
							hideTips : function(C) {
								var B = C ? a.core.evt.fixEvent(C).target
										: null;
								if (!a.core.dom.contains(A, B)) {
									A.style.display = "none"
								}
							}
						};
						var v = {};
						var p = {};
						var u = function() {
							r();
							d();
							w();
							b();
							f();
							l();
							n()
						};
						var r = function() {
							if (!s) {
								throw "node 没有定义"
							}
						};
						var d = function() {
							h = a.sizzle('[node-type="applyApp"]', s)[0];
							z = a.sizzle('input[type="hidden"]', s)[0];
							x = a.sizzle('[node-type="livestatus"]', s)[0];
							t = a.sizzle('[node-type="showIcon"]', s)[0];
							A = a.sizzle('[node-type="showTips"]', s)[0]
						};
						var w = function() {
							c.animate()
						};
						var b = function() {
						};
						var f = function() {
							a.addEvent(h, "click", c.transApp);
							a.addEvent(t, "mouseover", c.showTips)
						};
						var l = function() {
						};
						var n = function() {
						};
						var y = function() {
						};
						u();
						m.destroy = function() {
						};
						return m
					}
				});
STK.pageletM.register("pl.app.applyApp", function(c) {
	var b = c.E("pl_editAppBasic") || c.E("pl_applyApp");
	if (b) {
		var a = c.comp.app.applyapp(b);
		return a
	}
});
STK.register("common.login.getLoginStatus", function(d) {
	function a() {
		var f = document.cookie + ";";
		var k = [ "SUP", "=([^;]*)?;" ].join("");
		var e = [ "(\\?|&)", "uid", "=([^&]*)(&|$)" ].join("");
		var h = f.match(new RegExp(k, "i"));
		h = (h) ? h[1] || "" : "";
		h = unescape(h);
		var g = h.match(new RegExp(e));
		g = (g) ? g[2] || "" : "";
		return {
			uid : g,
			isLogin : !!g
		}
	}
	function c() {
		return a().isLogin
	}
	function b() {
		return a().isLogin
	}
	return {
		uid : c,
		isLogin : b
	}
});
STK
		.register(
				"comp.web.topRev",
				function(b) {
					var a;
					return function(y) {
						var k = b.addEvent, O = b.core.evt.stopEvent, C = b.core.evt.preventDefault, p, f, N;
						var z = 400, G = "easeoutcubic", m = {};
						var M, v = {}, K, I, x = [], R = false, s, A, B, h, d;
						var F = function() {
							for ( var T = 0; T < x.length; T++) {
								x[T].style.display = "none";
								x.pop(x[T])
							}
						};
						var Q = function() {
							var U = b.common.login.getLoginStatus.isLogin();
							var T = "http://open.weibo.com/apps";
							if (!U) {
								b.common.login.login.showLoginLayer({
									success : function() {
										location.href = T
									}
								})
							} else {
								location.href = T
							}
						};
						var J = function() {
							b.common.login.login.showLoginLayer({
								success : function() {
									location.reload()
								}
							})
						};
						var r = function(Y) {
							var aa = Y.el;
							var T = Y.data.index;
							if (m[T] && m[T].optionMoveMutex) {
								return
							}
							if (!m[T]) {
								m[T] = {}
							}
							m[T].optionMoveMutex = true;
							if (T == d) {
								if (s) {
									clearTimeout(s)
								}
							}
							var X = aa.parentNode;
							var Z = b.sizzle(".nav_more_layer", X)[0];
							v[T] = Z;
							d = T;
							h = d;
							for ( var W = 0; W < x.length; W++) {
								if (x[W] == Z) {
									m[T].optionMoveMutex = false;
									return
								}
							}
							Z.style.visibility = "hidden";
							Z.style.display = "block";
							Z.style.overflow = "hidden";
							var V;
							if (m[T].size) {
								V = m[T].size
							} else {
								V = b.core.dom.getSize(Z);
								m[T].size = V
							}
							Z.style.height = "0px";
							Z.style.visibility = "visible";
							var U = b.core.ani.tween(Z, {
								end : function() {
									m[T].optionMoveMutex = false;
									x.push(Z)
								},
								duration : z,
								animationType : G
							});
							m[T].tween = U;
							U.play({
								height : V.height
							})
						};
						var l = function(U) {
							var T = U.data.index;
							var V = v[T];
							s = setTimeout(function() {
								V.style.display = "none";
								if (m[T].tween) {
									m[T].tween.stop()
								}
								V.style.height = m[T].size.height + "px";
								m[T].optionMoveMutex = false;
								x.pop(V)
							}, 50)
						};
						var D = function(U) {
							var T = U.data.index;
							if (T == d) {
								if (s) {
									clearTimeout(s)
								}
							}
						};
						var S = function(U) {
							var T = U.data.index;
							var V = v[T];
							s = setTimeout(function() {
								V.style.display = "none";
								if (m[T].tween) {
									m[T].tween.stop()
								}
								V.style.height = m[T].size.height + "px";
								m[T].optionMoveMutex = false;
								x.pop(V)
							}, 50)
						};
						var g = function(T) {
							if (R) {
								return
							}
							R = true;
							I.style.visibility = "hidden";
							I.style.display = "block";
							I.style.overflow = "hidden";
							var V = b.core.dom.getSize(I);
							I.style.height = "0px";
							I.style.visibility = "visible";
							var U = b.core.ani.tween(I, {
								end : function() {
									R = false;
									x.push(I)
								},
								duration : z,
								animationType : G
							});
							U.play({
								height : V.height
							})
						};
						var E = {};
						var w = {};
						var c = {};
						var L = function() {
							e();
							q();
							t();
							o();
							P();
							n();
							u()
						};
						var e = function() {
							if (!y) {
								throw "node 没有定义"
							}
						};
						var q = function() {
							var T = b.kit.dom.parseDOM(b.builder(y).list);
							K = T.userinfo_btn;
							I = T.userinfo_menu;
							A = T.login_btn;
							B = T.manage_center
						};
						var t = function() {
						};
						var o = function() {
						};
						var P = function() {
							a = b.core.evt.delegatedEvent(y);
							a.add("selection_btn", "mouseover", r);
							a.add("selection_btn", "mouseout", l);
							a.add("selection_menu", "mouseover", D);
							a.add("selection_menu", "mouseout", S);
							k(document, "click", F);
							k(K, "click", g);
							if (A) {
								k(A, "click", J)
							}
							k(B, "click", Q)
						};
						var n = function() {
						};
						var u = function() {
						};
						var H = function() {
						};
						L();
						E.destroy = function() {
						};
						return E
					}
				});
STK.pageletM.register("pl.web.topRev", function(c) {
	var b = c.E("pl_web_top") || document.body;
	if (b) {
		var a = c.comp.web.topRev(b);
		return a
	}
});
STK.pageletM.start();